PopupWindow的使用

来源:互联网 发布:淘宝申请介入问题描述 编辑:程序博客网 时间:2024/06/06 01:12

1. 布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    android:background="@color/white">    <View        android:layout_width="match_parent"        android:layout_height="0.5dp"        android:background="@color/divider_color"       />    <ListView        android:id="@+id/lv_popup_per_seek_result_location"        android:layout_width="match_parent"        android:layout_height="match_parent"/></LinearLayout>

2.初始化

oncreate中调用 initNearByPopupWindow();
/** * 配置区域范围的PopupWindow */private void initNearByPopupWindow() {    final View popupView = LayoutInflater.from(this).inflate(R.layout.popupwindow_per_seek_result_scope, null);    nearByPopupWindow = new PopupWindow(popupView, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);    //实例化一个ColorDrawable颜色为半透明    nearByPopupWindow.setBackgroundDrawable(new BitmapDrawable());    nearByPopupWindow.setFocusable(true);    nearByPopupWindow.setOutsideTouchable(true);    nearByPopupWindow.update();    lvNearBy = (ListView) popupView.findViewById(R.id.lv_popup_per_seek_result_location);    adapterDistance=new PerSeekDistanceAdapter(PerSeekResultActivity.this);    lvNearBy.setAdapter(adapterDistance);    lvNearBy.setOnItemClickListener(new AdapterView.OnItemClickListener() {        @Override        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {           do something        }    });    //监听PopupWindow 取消时,回调方法,  可以做一些操作    nearByPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener(){                                               @Override                                               public void onDismiss() {                                                  
 do something
} } );}

3 展示

List<String> listDistances= Arrays.asList(distances);  //数据源adapterDistance.clean();adapterDistance.addAll(listDistances);
nearByPopupWindow.showAsDropDown(rlNearby,0,-5);//展示 及位置





原创粉丝点击