Android PopupWindow

匿名 (未验证) 提交于 2019-12-03 00:18:01

//弹出pop View view = View.inflate(MyMsgActivity.this, R.layout.msg_pop_layout, null); ////如果想要使用窗口内部的控件,,,必须通过他的视图对象去找 pop_camera = view.findViewById(R.id.pop_camera); pop_picture = view.findViewById(R.id.pop_picture); // 创建一个popupwindow的对象 /** * contentView :popup布局转换成的视图对象 * width:窗口显示的宽度 * height:窗口显示的高度 */ window = new PopupWindow(view, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); //思考:点击外部不消失 /* * new BitmapDrawable():就是一个透明的背景 */ //如果想要设置点击外部窗口消失,,必须2个方法同时使用 window.setBackgroundDrawable(new BitmapDrawable());//给窗口设置一个完全透明的背景图片 window.setOutsideTouchable(true);//设置窗口外部可以触摸 //思考:窗口里面的控件没有响应 //使用一个setFocusable 就可以实现,,,但是一般这2个方法也会同时使用 window.setTouchable(true);//设置窗口的焦点事件 window.setFocusable(true);//设置窗口本身可以触摸 //进行显示 //window.showAsDropDown(btns);//显示在某控件的正左下方 //window.showAsDropDown(btns, -150, 200);//显示在某控件的左下方(带偏移量) /** * parent:父控件--->popupwindow相对于某个父控件的位置 * gravity:重力方向 * x:x轴的偏移量 * y:y轴的偏移量 */ window.showAsDropDown(view, 0, 0);

<?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="match_parent"     android:orientation="vertical">      <Button         android:id="@+id/pop_camera"         android:layout_width="match_parent"         android:layout_height="wrap_content"         android:background="@drawable/selector"         android:text="相机" />      <Button         android:id="@+id/pop_picture"         android:layout_width="match_parent"         android:layout_height="wrap_content"         android:background="@drawable/selector"         android:text="相册" /> </LinearLayout> 
文章来源: Android PopupWindow
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!