android 实现仿QQ登录可编辑下拉菜单
今天,简单讲讲android里如何实现向QQ一样的登录后记住用户名的下拉框。
这个其实也很简单,网上搜索了一下,很多相关的资料,基本都是PopupWindow+ListView的方式,实现起来比较灵活。我也参考了一下,不过把他封装成了自定义的控件,这里记录一下。
效果:
这里只有使用别人地效果图,因为最近我上传的截图发现在博客上无法显示。其实我对界面做了优化,因为这个别人的界面是没有办法在市场上的app使用的。
这里只列举核心的代码:
//主界面Activity代码:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); inputEditText = (EditText) findViewById(R.id.input); downArroImageView = (ImageView) findViewById(R.id.down_arrow); ll_down_arrow= (LinearLayout) findViewById(R.id.ll_down_arrow); msgList = new ArrayList<String>(); // 对msgList进行赋值 for (int i = 0; i < 10; i++) { msgList.add("11111111"+i); } //初始化PopupWindow initPopupWindow(); }
这里首先初始化ArrayList,为listView填充数据,然后调用initPopupWindow初始化自定义的控件,具体代码
private void initPopupWindow() { ll_down_arrow.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { loginSpinerPopWindow.setWidth(inputEditText.getWidth()); loginSpinerPopWindow.showAsDropDown(inputEditText); downArroImageView.setBackgroundResource(R.drawable.icon_up); } }); loginSpinerPopWindow = new LoginSpinerPopWindow<String>(this, msgList, itemClickListene); loginSpinerPopWindow.setOnDismissListener(dismissListener); }
这里初始化自定义控件LoginSpinerPopWindow时,传入了connext,ArrayList数据,与itemClickListene记录点击事件。然后设置了点击后的消失的事件dismissListener。
itemClickListene的具体代码:
/** * popupwindow显示的ListView的item点击事件 */ private AdapterView.OnItemClickListener itemClickListene = new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { loginSpinerPopWindow.dismiss(); // 设置输入框 inputEditText.setText(msgList.get(position)); } };
这里主要是点击下拉框时,输入框显示点击的内容。
dismissListener的具体代码:
/** * 监听popupwindow取消 */ private PopupWindow.OnDismissListener dismissListener = new PopupWindow.OnDismissListener() { @Override public void onDismiss() { downArroImageView.setBackgroundResource(R.drawable.arraw_down); } };
这里主要是下拉框消失时,输入框右边的按钮复原的功能。
至于LoginSpinerPopWindow,它是继承PopupWindow,里面有封装了listView的自定义控件。
源码下载:http://download.csdn.net/download/bzlj2912009596/10250190
android 实现仿QQ登录可编辑下拉菜单 就讲完了。
就这么简单。
android 实现仿QQ登录可编辑下拉菜单相关推荐
- Android实现仿QQ登录可编辑下拉菜单
Android实现仿QQ登录可编辑下拉菜单 在Android里,直接提供的Spinner控件虽然可以实现下拉菜单的效果,但其效果并不理想,很多时候我们需要类似手机QQ那样既可以在文本框中直接输入编辑文 ...
- Android实现仿QQ登录可编辑下拉菜单
在Android里,直接提供的Spinner控件虽然可以实现下拉菜单的效果,但其效果并不理想,很多时候我们需要类似手机QQ那样既可以在文本框中直接输入编辑文字,可以在下拉菜单中选中或者删除菜单选项,并 ...
- Android实现可编辑下拉菜单
Android实现仿QQ登录可编辑下拉菜单 在Android里,直接提供的Spinner控件虽然可以实现下拉菜单的效果,但其效果并不理想,很多时候我们需要类似手机QQ那样既可以在文本框中直接输入编辑文 ...
- android studio 下拉菜单,怎么在android studio中使用Spinner实现一个下拉菜单
怎么在android studio中使用Spinner实现一个下拉菜单 发布时间:2021-03-23 14:56:15 来源:亿速云 阅读:92 作者:Leah 这期内容当中小编将会给大家带来有关怎 ...
- Android实现仿QQ登录界面背景动画效果
登录QQ的时候,我们会看到在登录界面的背景不是静态的,而是一段动画效果,刚开始觉得蛮好奇的,现在我们也来实现一下这种效果,实现起来还是挺简单的. 实现步骤: 1.自定义CustomVideoView类 ...
- Android仿手机淘宝多级下拉菜单
我们在常用的电商或者旅游APP中,例如美团,手机淘宝等等,都能够看的到有那种下拉式的二级列表菜单.具体如图所示: 上面两张图就是美团的一个二级列表菜单的一个展示.我相信很多人都想开发一个跟它一样的功能 ...
- web前端页面——移动端简单登录页面、下拉菜单(代码详细注释)
今天跟着专业老师复习了一下前端,感觉好多都已经忘记了,我将今天复习的一些重点整理出来. https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微 ...
- Android高仿QQ消息列表、侧拉删除菜单按钮效果
目 录(本篇字数:3000) 介绍 Item布局 自定义存放Item父容器 Bug分析 ·一.解决滑动冲突 二.解决Item点击事件的冲突 三.限制只能有一个menu被打开 博文续篇 ListV ...
- 仿QQ空间,百思不得姐下拉刷新图片放大
1.概述 实习生进阶到项目部分会带他们做一个百思不得姐项目,那么个人主页就有类似于QQ空间下拉图片放大的效果,趁着现在还闲就实现一下效果: 2.实现 1. 效果分析 ScrollView和ListVi ...
最新文章
- 不要一辈子靠技术生存
- maven web project打包为war包,目录结构的变化
- cv2.imread 中文路径返回null
- 工具的学习使用(二):快捷键、工具、批处理
- win10安装ensp启动40_acer e5-475g笔记本如何安装win10系统【图文教程】
- Leetcode 82. Remove Duplicates from Sorted List II
- 第25版 OpenStack Yoga 已发布
- Linux C语言连接MySQL 增删改查操作
- python strip() 方法
- nodejs面试题笔记
- 【Mendeley】自定义文献引用格式(国标GB2005)
- 用u盘装系统教程操作图解
- foxmail超大附件服务器文件怎么删,foxmail邮件太大怎么发?foxmail发送超大附件的方法...
- 【开源教程9】疯壳·开源蓝牙心率防水运动手环-心率监测
- word如何删除某一页的页眉
- mac画图工具 OmniGraffle (四)化繁为简
- CloudCompare:V2.6.3 菜单栏和工具栏 中英文对照 功能简述
- 从一个例子开始体验轻量级类隔离容器 SOFAArk | SOFAChannel#11 直播整理
- js检测开发者工具是否打开 防止别人调试代码
- phpMyAdmin 初始用户名 密码