完美PopupWindow(记住用户名模拟)
16lz
2021-01-26
Android与桌面程序一样,记住历史登录的所有用户,且以下拉先选取很重要,可以删除记住过的某些用户,这个可以借助PopupWindow来模拟。
请看我的测试效果图:
部分代码:
package com.jefry.pop;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.EditText;import android.widget.ImageButton;import android.widget.PopupWindow;import android.widget.AdapterView.OnItemClickListener;/** * * @author jefry * */public class MemoryActivity extends Activity implements OnClickListener{/** Called when the activity is first created. */SpinnerListView list;PopupWindow pop;EditText userEText;int item_h = 50;int count;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);ImageButton select = (ImageButton) findViewById(R.id.bnt_login_select);userEText = (EditText) findViewById(R.id.username);select.setOnClickListener(this);list = new SpinnerListView(this);list.setCacheColorHint(Color.TRANSPARENT); list.setDividerHeight(0); item_h = getResources().getDimensionPixelSize(R.dimen.pop_item_height);}public void onClick(View view) {switch (view.getId()) {case R.id.bnt_login_select:pop = new PopupWindow(list, userEText.getWidth(), item_h* list.getSize());pop.setAnimationStyle(0);pop.showAsDropDown(userEText);break;default:break;}}public void dismiss(String username){userEText.setText(username);pop.dismiss();}}
于篇幅原因,我只贴出了部分代码。如果觉得上面的代码看起来比较繁琐,哪里不清楚或需要源码的同志们,我们一起讨论。
更多相关文章
- android Tween Animations(动画效果-代码实现)的使用
- Android获取手机屏幕宽高、状态栏高度以及字符串宽高信息的方法
- [置顶] android 框架
- 自定义widgt and inflater
- Android开发1——查找所需要出示权限的内容
- Android中JavaScript和Native之间的Bridge
- Android开发者指南(16) ―― Activity and Task Design
- android 官网处理图片 代码
- android ListView上拉加载更多 下拉刷新功能实现(采用pull-to-ref