我已经创建了自己的自定义对话框,它工作正常,但我想将灰色背景更改为自定义图案(例如图像文件或xml形状)。我怎样才能做到这一点?
请注意,我不想改变调光强度,但我只想要,这种调光可以用模式替换
答案 0 :(得分:3)
我找到了解决这个问题的方法,我从@vipul mittal回答中得出了这个问题 我应该将对话框主题设置如下:
<item name="android:windowIsFloating">false</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
使用此主题,我的对话框将是:
windowIsFloating
设置为false
windowBackground
设置为@android:color/transparent
现在我应该用一个扮演周围区域角色的包装器来包装我的对话框xml布局内容,在这种情况下,我为此选择了FrameLayout
:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/dialog_back"> <!-- this is surrounding area drawable -->
<!-- dialog contents goes here -->
</FrameLayout>
以下是我最终对话框的截图:
答案 1 :(得分:0)
将对话框主题更改为:
<style name="CustomDialogTheme" parent="@android:style/Theme.Dialog">
<item name="android:windowBackground">@android:color/white</item>
<item name="android:windowIsFloating">false</item>
<item name="android:windowNoTitle">true</item>
</style>
在自定义对话框中,当您拨打超级电话时:
public CustomDialog(Context context) {
super(context, R.style.CustomDialogTheme);
}