现在我有一个弹出窗口,其中动态填充了一个检查列表。当用户点击屏幕上的检查列表按钮时,会弹出此窗口。
然而,背景中的项目并没有被淡出,它们似乎仍然可以点击。
我试过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_rent然后我换了
android:background="@drawable/shadow"
到颜色值为#88000000 的矩形对象
现在背景中的按钮无法点击,看起来都褪色了
地板仍然对任何有更好方法的人开放。
一个AlertDialog
应该可以做到这一点。请参阅:http://www.mkyong.com/android/android-custom-dialog-example/
我不知道我是否理解你的问题,但是你可以使用这样一个普通的对话框:
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
并动态查看您的清单。。。