如何在Android中使用PopupWindow下拉框?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。activity_main.xml布局<RelativeLayou
如何在Android中使用PopupWindow下拉框?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
activity_main.xml布局
<RelativeLayout xmlns:android="Http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.example.spin.MainActivity" ><EditTextandroid:id="@+id/et_editText"android:layout_width="250dp"android:layout_height="50dp"android:layout_centerHorizontal="true"android:layout_marginTop="10dp"android:text="@string/hello_world" /><ImageView android:id="@+id/down"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/down_arrow"android:layout_alignRight="@id/et_editText"android:layout_marginTop="20dp"android:clickable="true"/></RelativeLayout>
List_item.xml布局
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center_vertical"android:orientation="horizontal" ><ImageView android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/user"/><TextView android:id="@+id/tv_list_item"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:gravity="center_horizontal"android:text="100000000"/><ImageViewandroid:id="@+id/delete"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/delete"/></LinearLayout>
代码实现
public class MainActivity extends ActionBarActivity {private EditText et_editText;//编辑框private ImageView down;//下拉按钮private ListView listView;private List<String> numList;private PopupWindow popWin; private Boolean isDown=false;//判断弹窗是否显示 @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main); et_editText = (EditText) findViewById(R.id.et_editText);down = (ImageView) findViewById(R.id.down);//创建集合 储存号码numList = new ArrayList<String>();for(int i=0;i<20;i++){numList.add("100000000"+i);} initListView();//对下拉按钮设置监听 当进行点击时 弹出popWindown.setOnClickListener(new OnClickListener() { @Overridepublic void onClick(View v) {if(!isDown){//定义一个popupWindowpopWin=new PopupWindow(MainActivity.this);popWin.setWidth(et_editText.getWidth());//设置宽度 和编辑框的宽度相同popWin.setHeight(200); //设置高度//为popWin填充内容popWin.setContentView(listView);//点击popWin区域之外 自动关闭popWinpopWin.setOutsideTouchable(true);popWin.showAsDropDown(et_editText, 0, 0);isDown=true;}else{popWin.dismiss();isDown=false;}}});}//点击返回按钮@Overridepublic void onBackPressed() {if(popWin!=null&&popWin.isshowing()){popWin.dismiss();}super.onBackPressed();}private void initListView() {listView = new ListView(this);//设置listView的背景listView.setBackgroundResource(R.drawable.listview_background);//设置条目之间的分割线及滚动条不可见listView.setDivider(null);listView.setVerticalScrollBarEnabled(false);//设置适配器listView.setAdapter(new MyListAdapter());}private class MyListAdapter extends BaseAdapter{@Overridepublic int getCount() {return numList==null?0:numList.size();}@Overridepublic View getView(final int position, View convertView, ViewGroup parent) {ViewHolder holder;if(convertView==null){convertView=View.inflate(getApplicationContext(), R.layout.list_item, null);holder=new ViewHolder();holder.tvNum=(TextView) convertView.findViewById(R.id.tv_list_item);holder.delete=(ImageView) convertView.findViewById(R.id.delete);convertView.setTag(holder);}else{holder=(ViewHolder) convertView.getTag();}holder.tvNum.setText(numList.get(position));//对删除按钮设置监听事件holder.delete.setOnClickListener(new OnClickListener() { @Overridepublic void onClick(View v) {//当点击删除按钮时 删除条目numList.remove(position);//刷新ListViewMyListAdapter.this.notifyDataSetChanged();}});//对条目设置监听事件 点击条目后 将num设置到编辑框中convertView.setOnClickListener(new OnClickListener() { @Overridepublic void onClick(View v) {//点击条目后 将num设置到编辑框中et_editText.setText(numList.get(position));popWin.dismiss();}});return convertView;}@Overridepublic Object getItem(int position) {return null;}@Overridepublic long getItemId(int position) {return 0;}}private class ViewHolder {TextView tvNum;ImageView delete;}}
关于如何在Android中使用PopupWindow下拉框问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网精选频道了解更多相关知识。
--结束END--
本文标题: 如何在Android中使用PopupWindow下拉框
本文链接: https://www.lsjlt.com/news/220599.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-23
2024-05-23
2024-05-23
2024-05-23
2024-05-23
2024-05-23
2024-05-23
2024-05-23
2024-05-23
2024-05-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
一口价域名售卖能注册吗?域名是网站的标识,简短且易于记忆,为在线用户提供了访问我们网站的简单路径。一口价是在域名交易中一种常见的模式,而这种通常是针对已经被注册的域名转售给其他人的一种方式。
一口价域名买卖的过程通常包括以下几个步骤:
1.寻找:买家需要在域名售卖平台上找到心仪的一口价域名。平台通常会为每个可售的域名提供详细的描述,包括价格、年龄、流
443px" 443px) https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294.jpg https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294-768x413.jpg 域名售卖 域名一口价售卖 游戏音频 赋值/切片 框架优势 评估指南 项目规模 安全指南 Osprey 游戏分析 游戏调试 游戏图形 游戏物理 开源库 魔方破解 游戏安全 反作弊 安全最佳实践 游戏逻辑 LaVie 域名转让平台
0