实现在android的popupwindow中显示listview.docx
- 文档编号:30281041
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:9
- 大小:58.36KB
实现在android的popupwindow中显示listview.docx
《实现在android的popupwindow中显示listview.docx》由会员分享,可在线阅读,更多相关《实现在android的popupwindow中显示listview.docx(9页珍藏版)》请在冰豆网上搜索。
实现在android的popupwindow中显示listview
实现在android的popupwindow中显示listview
小编将listview添加到popupwindow窗口中。
关于这个listview我就再不多说了,这里主要讲实现popupwindow和美化popupwindow。
先看图:
8 分钟前上传
下载附件(27.6KB)
1、创建一个popupwindow,并设置相应的样式。
Java代码:
1.privatevoidpopAwindow(Viewparent){
2.if(window==null){
3.LayoutInflaterlay=(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
4.Viewv=lay.inflate(R.layout.popupwindow,null);
5. v.setBackgroundDrawable(getResources().getDrawable(R.drawable.rounded_corners_view));
6.
7.//初始化按钮
8.submit=(Button)v.findViewById(R.id.submit);
9.submit.setOnClickListener(submitListener);
10.cancel=(Button)v.findViewById(R.id.cancel);
11.cancel.setOnClickListener(cancelListener);
12.
13.//初始化listview,加载数据。
14.list=(ListView)v.findViewById(R.id.lv);
15.MyAdapteradapter=newMyAdapter(Main.this);
16.list.setAdapter(adapter);
17.list.setItemsCanFocus(false);
18.list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
19.list.setOnItemClickListener(listClickListener);
20.
21.window=newPopupWindow(v,500,260);
22.}
23.
24.//设置整个popupwindow的样式。
25. window.setBackgroundDrawable(getResources().getDrawable(R.drawable.rounded_corners_pop));
26.//使窗口里面的空间显示其相应的效果,比较点击button时背景颜色改变。
27.//如果为false点击相关的空间表面上没有反应,但事件是可以监听到的。
28.//listview的话就没有了作用。
29.window.setFocusable(true);
30.window.update();
31.window.showAtLocation(parent,Gravity.CENTER_VERTICAL,0,0);
32.}
33.
34.OnItemClickListenerlistClickListener=newOnItemClickListener(){
35.@Override
36.publicvoidonItemClick(AdapterView
>parent,Viewview,intposition,
37.longid){
38.ViewHoldervHollder=(ViewHolder)view.getTag();
39.//在每次获取点击的item时将对于的checkbox状态改变,同时修改map的值。
40.vHollder.cBox.toggle();
41.MyAdapter.isSelected.put(position,vHollder.cBox.isChecked());
42.}
43.};
复制代码
给按钮添加监听事件:
Java代码:
1.OnClickListenersubmitListener=newOnClickListener(){
2.@Override
3.publicvoidonClick(Viewv){
4.//这儿可以写提交数据的代码。
5.closeWindow();
6.}
7.};
8.
9.OnClickListenercancelListener=newOnClickListener(){
10.@Override
11.publicvoidonClick(Viewv){
12.closeWindow();
13.}
14.};
15.
16.privatevoidcloseWindow(){
17.//将每个checkbox的标记改为false,以便下次弹出window时是初始的状态。
18.for(intj=0;j 19.MyAdapter.isSelected.put(j,false); 20.ViewHoldervHollder=(ViewHolder)list.getChildAt(j).getTag(); 21.vHollder.cBox.setChecked(false); 22.} 23.//提交数据时关闭popupwindow。 24.if(window! =null){ 25.window.dismiss(); 26.} 27.} 复制代码 在layout中新建popupwindow.xml文件,具体内容如下,主要是对window的布局: Java代码: 1. xmlversion="1.0"encoding="utf-8"? > 2. android=" 3.android: orientation="vertical" 4.android: layout_width="fill_parent" 5.android: layout_height="fill_parent"> 6. 7.android: id="@+id/tip" 8.android: layout_width="wrap_content" 9.android: layout_height="wrap_content" 10.android: layout_gravity="center" 11.android: textSize="18dip" 12.android: background="@drawable/rounded_corners_list" 13.android: text="这是一个popupWindow的例子"/> 14. --如果layout_width的值为fill_parent时,居中要用android: gravity="center"--> 15. 16.android: id="@+id/lv" 17.android: layout_width="fill_parent" 18.android: layout_height="wrap_content" 19.android: background="@drawable/rounded_corners_list"/> 20. 21.android: orientation="horizontal" 22.android: layout_gravity="center" 23.android: layout_width="wrap_content" 24.android: layout_height="wrap_content" 25.android: background="@drawable/rounded_corners_list"> 26. 37. 复制代码 新建rounded_corners_pop.xml,用于自定义窗口的样式文件,具体内容如下: Java代码: 1. xmlversion="1.0"encoding="utf-8"? > 2. android=" 3. color="#ffffffff"/> 4. width="3dp"color="#ffff8080"/> 5. radius="10dp"/> 6. 7.android: left="3dp" 8.android: top="3dp" 9.android: right="3dp" 10.android: bottom="3dp"/> 11. 复制代码 这个就可以实现圆角的样式,周围的白边是通过在白的样式上面叠加黑色的来实现的。 其他样式文件大家可以参考上面的rounded_corners_pop.xml自己写。 2、在main.xml中添加按钮,一个用于显示window,一个用于隐藏window Java代码: 1. 2.android: layout_width="100dip" 3.android: layout_height="50dip" 4.android: text="隐藏"/> 5. 复制代码 在activity中初始化这两个按钮,并添加监听事件: Java代码: 1.OnClickListenerbPop=newOnClickListener(){ 2.@Override 3.publicvoidonClick(Viewv){ 4.popAwindow(v); 5.} 6.}; 7. 8.OnClickListenerboff=newOnClickListener(){ 9.@Override 10.publicvoidonClick(Viewv){ 11.if(window! =null){ 12.window.dismiss(); 13.} 14.} 15.}; 复制代码
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实现 android popupwindow 显示 listview