现在我有一个popupWindow动态填充了一个检查列表。 当用户点击屏幕上的检查列表按钮时,会弹出此窗口。
但是,背景中的项目没有淡出,看起来仍然可以点击。
我已经尝试过Dialog.Builder,但是当用户点击检查列表范围之外时,这些窗口会立即被解除。
所以现在我有
PopupWindow newPop = new PopupWindow(ActionBar.LayoutParams.MATCH_PARENT,ActionBar.LayoutParams.WRAP_CONTENT);
即生成弹出窗口。
然后是弹出窗口的根元素。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shadow"
android:layout_gravity="center"
android:gravity="center"
android:id="@+id/TopChecklist"> generating check-list here </LinearLayout>
那么,有人可以推荐一种让背景变得无法触及并褪色的方法吗?
修改 没关系,我发现了一个解决它的伎俩。 我在XML下将layout_width更改为fill_parent 然后我改变了
android:background="@drawable/shadow"
到颜色值为#88000000
的矩形对象现在无法点按背景中的按钮,它们看起来都已褪色
对于有更好方法的人来说,地板仍然是开放的。
答案 0 :(得分:1)
AlertDialog
应该可以解决问题。请参阅:http://www.mkyong.com/android/android-custom-dialog-example/
答案 1 :(得分:1)
我不知道我是否理解你的问题, 但你可以像这样使用普通的Dialog:
public void ShowMyDialog() {
Dialog myDialog = new Dialog(context);
myDialog.setContentView(R.layout.MyLayout);
并使用:
myDialog.setCanceledOnTouchOutside(false); //Dialog not cancelable when clicked outside dialog
或
myDialog.setCancelable(false); //Dialog not cancelable with back key
动态地在你的清单上......