Android PopupWindow 弹框布局要显示在某个空间下面位置
2017-08-01 16:29
513 查看
说明:
弹框布局要显示在某个空间下面需求。
代码:
使用PopupWindow。
1、PopupWindow初始化
2、点击某个空间,启用PopupWindow,制定其显示位置
其它说明:
显示[b]PopupWindow:[/b]
showAsDropDown(View anchor):相对某个控件的位置(正左下方),无偏移
showAsDropDown(View anchor, int xoff, int yoff):相对某个控件的位置,有偏移
showAtLocation(View parent, int gravity, int x, int y):相对于父控件的位置(例如正中央Gravity.CENTER,下方Gravity.BOTTOM等),可以设置偏移或无偏移
和dialog对比,主要用在特殊的使用,比如:显示在某个空间下面!
弹框布局要显示在某个空间下面需求。
代码:
使用PopupWindow。
1、PopupWindow初始化
private PopupWindow popupWindow; //初始化搜索popup (可以启动初始化) private void initSearchPopupWindow() { LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); final View contentview = inflater.inflate(R.layout.popup_search_varieties_select, null);//自己的弹框布局 final EditText et_search = (EditText) contentview.findViewById(R.id.et_search);//布局中的编辑框 TextView tv_search = (TextView) contentview.findViewById(R.id.tv_search);//布局中的搜索按钮 contentview.setFocusable(true); // 这个很重要 contentview.setFocusableInTouchMode(true); popupWindow = new PopupWindow(contentview, RadioGroup.LayoutParams.MATCH_PARENT, RadioGroup.LayoutParams.WRAP_CONTENT); popupWindow.setFocusable(true); popupWindow.setOutsideTouchable(false); contentview.setOnKeyListener(new View.OnKeyListener() {//监听系统返回键 @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { popupWindow.dismiss(); return true; } return false; } }); }
2、点击某个空间,启用PopupWindow,制定其显示位置
iv_search.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { popupWindow.showAsDropDown(rl_header);//PopupWindow显示在rl_header空间下面 } });
其它说明:
显示[b]PopupWindow:[/b]
showAsDropDown(View anchor):相对某个控件的位置(正左下方),无偏移
showAsDropDown(View anchor, int xoff, int yoff):相对某个控件的位置,有偏移
showAtLocation(View parent, int gravity, int x, int y):相对于父控件的位置(例如正中央Gravity.CENTER,下方Gravity.BOTTOM等),可以设置偏移或无偏移
和dialog对比,主要用在特殊的使用,比如:显示在某个空间下面!
相关文章推荐
- Android PopupWindow显示位置和显示大小
- Android PopupWindow显示位置和显示大小
- 关于Android popupWindow的位置显示 showAtLocation理解
- Android 利用layoutParams代码动态布局空间位置
- android getView方法不执行的一个原因是布局文件中没有给列表显示的位置
- Android PopupWindow 的显示位置
- Android分页中显示出下面翻页的导航栏的布局实例代码
- android学习——popupWindow 在指定位置上的显示
- android学习——popupWindow 在指定位置上的显示
- Android PopupWindow用法(二)_showAsDropDown 方法显示的位置
- android PopupWindow显示位置设置
- 在Android的RaletiveLayout中,如果空间的相对位置矛盾将不显示此控件
- Android 布局 背景图 不拉伸 自定义任意位置显示
- Android PopupWindow显示位置设置
- android学习——popupWindow 在指定位置上的显示
- android getView方法不执行的一个原因是布局文件中没有给列表显示的位置
- android popupwindow位置显示
- android学习——popupWindow 在指定位置上的显示
- Popupwindow在Android 7.0以上系统位置显示不对的解决办法
- Android 6.0+ RecyclerView嵌套在ScrollView显示不全以及Android 7.0+ PopupWindow位置显示不对的问题解决