android 实现仿QQ登录可编辑下拉菜单
2018-02-12 09:01
323 查看
今天,简单讲讲android里如何实现向QQ一样的登录后记住用户名的下拉框。
这个其实也很简单,网上搜索了一下,很多相关的资料,基本都是PopupWindow+ListView的方式,实现起来比较灵活。我也参考了一下,不过把他封装成了自定义的控件,这里记录一下。
效果:
这里只有使用别人地效果图,因为最近我上传的截图发现在博客上无法显示。其实我对界面做了优化,因为这个别人的界面是没有办法在市场上的app使用的。
这里只列举核心的代码:
//主界面Activity代码:
这里首先初始化ArrayList,为listView填充数据,然后调用initPopupWindow初始化自定义的控件,具体代码
这里初始化自定义控件LoginSpinerPopWindow时,传入了connext,ArrayList数据,与itemClickListene记录点击事件。然后设置了点击后的消失的事件dismissListener。
itemClickListene的具体代码:
这里主要是点击下拉框时,输入框显示点击的内容。
dismissListener的具体代码:
这里主要是下拉框消失时,输入框右边的按钮复原的功能。
至于LoginSpinerPopWindow,它是继承PopupWindow,里面有封装了listView的自定义控件。
源码下载:http://download.csdn.net/download/bzlj2912009596/10250190
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实现仿QQ登录可编辑下拉菜单
- Android实现仿qq登录可编辑下拉菜单
- Android实现仿QQ登录可编辑下拉菜单
- Android实现仿QQ登录可编辑下拉菜单
- Lance老师UI系列教程第三课->QQ登录注册界面的实现(android-2012最新版)
- android 用sharepreferences实现仿QQ登录多账号的保存的效果
- Android实现可编辑下拉菜单
- Android实现QQ第三方登录
- Android实现QQ第三方登录
- Android端不通过登录SDK实现QQ登录验证 推荐
- Android webview实现QQ一键登录授权
- Lance老师UI系列教程第三课->QQ登录注册界面的实现(android-2012最新版)
- Android 实现QQ第三方登录
- Android应用实现QQ授权登录
- Lance老师UI系列教程第三课->QQ登录注册界面的实现(android-2012最新版)
- Lance老师UI系列教程第三课->QQ登录注册界面的实现(android-2012最新版)
- Android端不通过登录SDK实现QQ登录验证