调用android对话框没有它淡化背景

我有这个很好的对话框视图我设置我的UserInputDialog类到:

<LinearLayout android:id="@+id/LinearLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> <TextView android:id="@+id/nameMessage" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="What is your name Captain?" > </TextView> <EditText android:id="@+id/nameEditText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="18sp" > </EditText> <LinearLayout android:id="@+id/LinearLayout02" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal"> <Button android:id="@+id/okButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="OK"> </Button> <Button android:id="@+id/cancelButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Cancel"> </Button> </LinearLayout> </LinearLayout> 

我希望我的对话框出现,但为了不退出的背景。 这可能吗? 导致调用这个对话框的视图有​​一个neato背景,我希望被显示为对话框的背景。

我在网上find了这个:

 <style name="doNotDim" parent="@android:style/Theme.Dialog"> <item name="android:backgroundDimAmount">0</item> </style > 

但不知道如何将其应用到我的对话框? 我有一个名为public class UserInputDialog extends Dialog implements OnClickListener 。 它将其内容视图设置为上述布局。

我想我是这样做的,只是不知道如何添加这种风格,所以我不能淡化背景。

次要问题:通过使用主题,您可以在对话框中获得新的外观(例如,通过图片或图标显示您的文字)?

Solutions Collecting From Web of "调用android对话框没有它淡化背景"

创build一个res / values / styles.xml文件并将其添加到它。

 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="Theme.DoNotDim" parent="android:Theme"> <item name="android:backgroundDimEnabled">false</item> </style> </resources> 

并将主题应用于您的活动。

 <activity android:name=".SampleActivity" android:theme="@style/Theme.DoNotDim"> 

您还可以通过以下代码删除暗淡效果:

 dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); 

创build一个自定义样式并将其放置在您的值文件夹中

 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="YourCustomStyle" parent="android:Theme"> <item name="android:backgroundDimEnabled">false</item> </style> </resources> 

将样式设置为可以使用的单个对话框

 Dialog dialog = new Dialog(context, R.style.YourCustomStyle); 

为了显示像TrueCaller这样的对话框:

styles.xml文件中。

 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="myBackgroundStyle" parent="android:Theme.Dialog"> <item name="android:backgroundDimEnabled">false</item> </style> </resources> 

AndroidManifest.xml这样做:

 <activity android:name=".SampleActivity" android:theme="@style/myBackgroundStyle">