我想完全重新设计 Android 中的默认对话组件。具体来说我想这样做:
我看过有关在对话框中创建自定义布局的教程(例如http://www.helloandroid.com/tutorials/how-display-custom-dialog-your-android-application http://www.helloandroid.com/tutorials/how-display-custom-dialog-your-android-application),但我还没有看到任何有关更改覆盖层颜色和/或完全自定义弹出的对话窗口并将其更多地变成没有“窗口”的覆盖层的内容。
我已经解决了这个问题,并使用以下步骤创建了带有自定义彩色半透明叠加背景的自定义弹出叠加:
1 - 在 res/values/ 文件夹中创建一个新的 xml 文件并将其命名为 styles.xml
2 - 您将在此处定义对话框属性。这是我的样子。如果您想替换屏幕上显示的默认半透明黑色覆盖层,则必须设置windowIsFloating
为 false,并将布局的背景修改为您想要的任何颜色。下面是我使用过的文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CustomDialogTheme" parent="@android:style/Theme.Dialog">
<item name="android:windowBackground">@color/transparent_white</item>
<item name="android:windowIsFloating">false</item>
<item name="android:windowNoTitle">true</item>
</style>
</resources>
3 - 回到 java 代码,在创建对话框对象时,使用传递上下文和主题的构造函数。例如。myDialog = new Dialog(this, R.style.CustomDialogTheme);
(CustomDialogTheme 是我在步骤 2 的 styles.xml 中指定的名称属性)
4 - 只需将对话框对象内容视图设置为您希望对话框显示的任何布局。例如。myDialog.setContentView(R.layout.my_custom_overlay);
如果您希望对话框出现在屏幕中央,请设置其根元素android:layout_gravity
to center
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)