Android仿微信实现下拉列表_Android

 本文要实现微信6.1中点击顶部菜单栏的“+”号按钮时,会弹出一个列表框。这里用的了Activity实现,其实最好的方法可以用ActionBar,不过这货好像只支持3.0以后的版本。本文的接上文Android仿微信底部菜单栏+顶部菜单栏

效果

一、仿微信下拉列表布局pop_dialog.xml

<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content" > 

 <RelativeLayout
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:layout_marginTop="45dp"
 android:layout_marginRight="20dp"> 

 <LinearLayout
 android:id="@+id/id_pop_dialog_layout"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignParentRight="true"
 android:layout_alignParentTop="true"
 android:background="@drawable/pop_item_normal"
 android:orientation="vertical" > 

 <LinearLayout
 android:id="@+id/id_groupchat"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:layout_marginLeft="5dp"
 android:layout_marginRight="5dp"
 android:layout_marginTop="5dp"
 android:background="@drawable/pop_list_selector" > 

 <ImageView
  android:id="@+id/id_imageView1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_gravity="center_vertical"
  android:layout_marginLeft="8dp"
  android:src="@drawable/pop_group" /> 

 <TextView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:padding="8dp"
  android:text="发起聊天"
  android:layout_gravity="center_vertical"
  android:textColor="#fff"
  android:textSize="16sp" />
 </LinearLayout> 

 <ImageView
 android:id="@+id/id_imageView5"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:src="@drawable/pop_line" /> 

 <LinearLayout
 android:id="@+id/id_addfrd"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:layout_marginLeft="5dp"
 android:layout_marginRight="5dp"
 android:background="@drawable/pop_list_selector" > 

 <ImageView
  android:id="@+id/id_imageView2"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_gravity="center_vertical"
  android:layout_marginLeft="8dp"
  android:src="@drawable/pop_add" /> 

 <TextView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:padding="8dp"
  android:text="添加朋友"
  android:layout_gravity="center_vertical"
  android:textColor="#fff"
  android:textSize="16sp" />
 </LinearLayout> 

 <ImageView
 android:id="@+id/id_imageView5"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:src="@drawable/pop_line" /> 

 <LinearLayout
 android:id="@+id/id_find"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:layout_marginLeft="5dp"
 android:layout_marginRight="5dp"
 android:background="@drawable/pop_list_selector" > 

 <ImageView
  android:id="@+id/id_imageView3"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_gravity="center_vertical"
  android:layout_marginLeft="8dp"
  android:src="@drawable/pop_qrcode" /> 

 <TextView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:padding="8dp"
  android:text="扫一扫"
  android:layout_gravity="center_vertical"
  android:textColor="#fff"
  android:textSize="16sp" />
 </LinearLayout> 

 <ImageView
 android:id="@+id/id_imageView5"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:src="@drawable/pop_line" /> 

 <LinearLayout
 android:id="@+id/id_feedback"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:layout_marginBottom="3dp"
 android:layout_marginLeft="5dp"
 android:layout_marginRight="5dp"
 android:background="@drawable/pop_list_selector" > 

 <ImageView
  android:id="@+id/id_imageView4"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_gravity="center_vertical"
  android:layout_marginLeft="8dp"
  android:src="@drawable/pop_feedback" /> 

 <TextView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:padding="8dp"
  android:text="帮助与反馈"
  android:layout_gravity="center_vertical"
  android:textColor="#fff"
  android:textSize="16sp" />
 </LinearLayout>
 </LinearLayout>
 </RelativeLayout> 

</RelativeLayout>

 

其中,按下图片后变换颜色:
android:background="@drawable/pop_list_selector" > 
pop_list_selector.xml如下

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

 <item android:drawable="@drawable/pop_item_pressed" android:state_focused="true"/>
 <item android:drawable="@drawable/pop_item_pressed" android:state_pressed="true"/>
 <item android:drawable="@drawable/pop_item_pressed" android:state_selected="true"/>
 <item android:drawable="@drawable/pop_item_normal"/> 

</selector>

看看效果,这是去掉标题栏后的(也可以用代码去掉)

去掉标题栏的方法:

二、对应代码
pop_dialog.xml对应的代码为PopDialogActivity.java
如下:

package com.example.tabexample;
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.widget.LinearLayout; 

public class PopDialogActivity extends Activity implements OnClickListener{
 //定义四个按钮区域
 private LinearLayout mGroupChat;
 private LinearLayout mAddFrd;
 private LinearLayout mFind;
 private LinearLayout mFeedBack; 

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 requestWindowFeature(Window.FEATURE_NO_TITLE);
 setContentView(R.layout.pop_dialog); 

 initView();
 } 

 /**
 * 初始化组件
 */
 private void initView(){
 //得到布局组件对象并设置监听事件
 mGroupChat = (LinearLayout)findViewById(R.id.id_groupchat);
 mAddFrd = (LinearLayout)findViewById(R.id.id_addfrd);
 mFind = (LinearLayout)findViewById(R.id.id_find);
 mFeedBack = (LinearLayout)findViewById(R.id.id_feedback); 

 mGroupChat.setOnClickListener(this);
 mAddFrd.setOnClickListener(this);
 mFind.setOnClickListener(this);
 mFeedBack.setOnClickListener(this);
 } 

 @Override
 public boolean onTouchEvent(MotionEvent event){
 finish();
 return true;
 } 

 @Override
 public void onClick(View v) { 

 }
}

三、设置背景透明
     如果单这样,当这个Activity出来后,就会把之前的Activity覆盖,但是如果把它背景设置成透明的不就可以了么?方法如下:
在AndroidManifest.xml中添加:

<!-- 这里一定要注册上这个activity,否则跳转将会失败,因为系统找不到这个activity -->
t;activity
 android:name="com.example.tabexample.PopDialogActivity"
 android:label="@string/app_name"
 android:theme="@style/MyDialogStyleTop">
t;/activity> 

其中
"@style/MyDialogStyleTop" 
是我自己定义的格式,在value/style下添加:

<style name="MyDialogStyleTop" parent="android:Theme.Dialog">
 <item name="android:windowFrame">@null</item><!-- 边框 -->
 <item name="android:windowIsFloating">true</item> <!-- 是否浮现在activity之上 -->
 <item name="android:windowIsTranslucent">false</item><!-- 半透明 -->
 <item name="android:windowNoTitle">true</item> <!-- 无标题 -->
 <item name="android:windowBackground">@android:color/transparent</item><!-- 背景透明 -->
 <item name="android:backgroundDimEnabled">false</item><!-- 模糊 -->
</style>

四、使用
其实使用就是Activity的跳转了,方法很简单,一句:
startActivity(new Intent(MainActivity.this,PopDialogActivity.class)); 
把这句放在“+”按钮的点击事件当中去,这里添加点击事件就不用说了,很简单,然后最终的效果如下:

本文已被整理到了《Android微信开发教程汇总》,欢迎大家学习阅读。

以上就是本文的全部内容,希望对大家学习Android软件编程有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索android
, 微信
下拉列表
android实现下拉列表、ajax实现级联下拉列表、input 实现下拉列表、js实现下拉列表、js 实现检索下拉 列表,以便于您获取更多的相关知识。

时间: 2024-10-18 23:50:24

Android仿微信实现下拉列表_Android的相关文章

Android仿微信实现下拉列表

本文要实现微信6.1中点击顶部菜单栏的"+"号按钮时,会弹出一个列表框.这里用的了Activity实现,其实最好的方法可以用ActionBar,不过这货好像只支持3.0以后的版本.本文的接上文Android仿微信底部菜单栏+顶部菜单栏. 效果 一.仿微信下拉列表布局pop_dialog.xml <?xml version="1.0" encoding="UTF-8"?> <RelativeLayout xmlns:android

Android仿微信/支付宝密码输入框_Android

在用到支付类app时,都有一个简密的输入框..开始实现的时候思路有点问题,后来到github上搜了下,找到了一个开源的库看起来相当的牛逼,,来个地址先: https://github.com/Jungerr/GridPasswordView 效果图: 这个开源库我研究了之后,又有了自己的一个思路:来个假的简密框---底部放一个EditTextView,顶部放置6个ImageView的原点,控制他们的显隐来实现这个简密宽 开发步骤: 1 布局 <?xml version="1.0"

Android仿微信图片选择器_Android

很多项目要用到图片选择控件,每次都要写一大堆逻辑.于是基于图片选择组件(PhotoPicker)封装了一个控件PhotoUploadView.方便简易,一键集成,几句代码就可以添加类似微信的图片选择控件了.下面介绍一下该控件有些什么特点以及怎么使用.先看图: 效果如上图,点击加号弹出选择框,目前提供了两种形式,一个如图所见的PopupWindow,另一个是MaterialDialog,选择拍照或者从图库获取,从图库获取后就进入图二,选择完之后就图三或图四这里因为很多项目需要不一样,所以特别封装了

Android仿微信朋友圈图片查看器_Android

再看文章之前,希望大家先打开自己的微信点到朋友圈中去,仔细观察是不是发现朋友圈里的有个"九宫格"的图片区域,点击图片又会跳到图片的详细查看页面,并且支持图片的滑动和缩放?这个功能是不是很常用呢?!那么我今天正好做了这个Demo,下面为大家讲解一下.首先按照惯例先看一下效果图吧,尤其不会录制gif动画(哎~没办法,模拟器不支持多点触控,刚好我的手机又没有Root,不能录屏,悲催啊,大家见谅,想要看真实效果的话,烦请移到文章最下方转载文章中进行源码下载,点击下载源码,运行后再看效果哈~~)

Android仿微信雷达辐射搜索好友(逻辑清晰实现简单)_Android

不知不觉这个春节也已经过完了,遗憾家里没网,没能及时给大家送上祝福,今天回到深圳,明天就要上班了,小伙伴们是不是和我一样呢?今天讲的是一个大家都见过的动画,雷达搜索好友嘛,原理也十分的简单,你看完我的分析,也会觉得很简单了,国际惯例,无图无真相,我们先看看效果图,对了,真 测试机送人了,所讲这段时间应该一直用模拟器显示吧! 仿微信雷达扫描,仿安卓微信.云播雷达扫描动画效果点击中间的黑色圆圈开始扫描动画,再次点击复位,需要这种效果的朋友可以自己下载看一下. 效果图如下所示: 这个界面相信大家都认识

Android仿微信发表说说实现拍照、多图上传功能_Android

本文实例为大家分享了Android仿微信发表说说.心情功能,供大家参考,具体内容如下 既能实现拍照,选图库,多图案上传的案例,目前好多App都有类似微信朋友圈的功能,能过发表说说等附带图片上传.下面的就是实现该功能的过程:大家还没有看过Android Retrofit 2.0框架上传图片解决方案这篇文章,在看今天的就很容易,接在本项目中用到了一个library:photopicker,封装了图片的选择功能,是否选相机,还有选中图片后可以查看图片的功能.   一. 首先:将photopicker到

Android 仿微信朋友圈点赞和评论弹出框功能_Android

贡献/下载源码:https://github.com/mmlovesyy/PopupWindowDemo 本文简单模仿微信朋友圈的点赞和评论弹出框,布局等细节请忽略,着重实现弹出框.发评论,及弹出位置的控制. 1. 微信弹出框 微信朋友圈的点赞和评论功能,有2个组成部分: 点击左下角的"更多"按钮,弹出对话框: 点击评论,弹出输入框,添加评论并在页面中实时显示:   微信朋友圈点赞和评论功能 2. 实际效果 本文将建一个 ListView,在其 Item 中简单模仿微信的布局,然后着重

Android仿微信图片点击全屏效果_Android

废话不多说先看下效果 先是微信的 再是模仿的 先说下实现原理再一步步分析 这里总共有2个Activity一个就是主页一个就是显示我们图片效果的页面参数通过Intent传送素材内容均来自网络(感谢聪明的蘑菇) 图片都是Glide异步下的下的下的重要的事情说三次然后就是用动画做放大操作然后显示出来了并没有做下载原图的实现反正也是一样 下载下来Set上去而且动画都不需要更简便. OK我们来看分析下 obj目录下分别创建了2个对象一个用来使用来处理显示页面的图片尺寸信息以及位置信息还有一个是用来附带UR

Android仿微信二维码和条形码_Android

本文实例为大家分享了Android仿微信二维码和条形码的具体代码,供大家参考,具体内容如下 package your.QRCode.namespace; import java.io.File; import java.io.FileOutputStream; import java.util.HashMap; import java.util.Map; import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHi