fragment中的pop显示

来源:互联网 发布:java long 长度 编辑:程序博客网 时间:2024/06/07 06:48

利用pop显示listview数据

这里的view为fragement,所以在pop消失时设置了一个监听pop.setOnDismissListener,当pop消失,我们将pop=null

LayoutInflater inflater = LayoutInflater.from(context);
View v1 = inflater.inflate(R.layout.pop_changyongyu, null);

ListView lv_changyongyu_list = (ListView) v1.findViewById(R.id.lv_changyongyu_list);
lv_changyongyu_list.setAdapter(new SimpleAdapter(context, list, R.layout.pop_item_changyongyu, new String[] {"cotent"}, new int[] {R.id.tv_changyongyu}));

将pop的xml样式文件加载到view里面,xml里面的listview使用simpleadapter设置数据

if (pop == null) {
pop = new PopupWindow(v1, LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
pop.setFocusable(true);
pop.setOutsideTouchable(true);
// 实例化一个ColorDrawable颜色为半透明
ColorDrawable dw = new ColorDrawable(0xb0000000);
// 设置SelectPicPopupWindow弹出窗体的背景
pop.setBackgroundDrawable(dw);
int width=view.findViewById(R.id.statement_choice).getWidth();
width = width - JQUtils.dip2px(context, 140);
pop.showAsDropDown(view.findViewById(R.id.statement_choice),width,0);
}
将xml文件中的dp转化为px像素,getwidth的单位是px,然后设置显示位置,“+”的向右偏移

在Android中支持的描述大小区域的类型有以下几种。

px(pixels)——像素:不同的设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。

dip(device independent pixels)——设备独立像素:这个和设备硬件有关,一般哦我们了支持WCGA、HVGA和QVGA推荐使用这个,不依赖于像素。等同于dp。

sp(scaled pixels—best for text size)——带比例的像素

pt(points)——磅:1pt = 1/72英寸

in(inches)——英寸

mm(millimeters)——毫米


0 0
原创粉丝点击