Android:弹出对话框样式窗口

时间:2015-04-17 09:00:44

标签: android popupwindow

现在我有一个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

的矩形对象

现在无法点按背景中的按钮,它们看起来都已褪色

对于有更好方法的人来说,地板仍然是开放的。

2 个答案:

答案 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

动态地在你的清单上......