我需要在我的Android应用程序中显示一个自定义对话框。标准的AlertDialog设计是不可接受的。Android文档上说:
提示:如果您想要一个自定义对话框,而不是使用Dialog API,您可以将Activity显示为对话框。只需创建一个Activity并在manifest元素中将其主题设置为Theme.Holo.Dialog即可。
听起来很有前途。我试了一下,但透明度不起作用!背景始终是灰色的:
这是清单中的描述:
提示:如果您想要一个自定义对话框,而不是使用Dialog API,您可以将Activity显示为对话框。只需创建一个Activity并在manifest元素中将其主题设置为Theme.Holo.Dialog即可。
听起来很有前途。我试了一下,但透明度不起作用!背景始终是灰色的:
这是清单中的描述:
<activity
android:name=".MyDialogActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Holo.Dialog.NoActionBar" >
</activity>
这是我的活动根源:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:background="#00000000"
android:layout_width="400dp"
android:layout_height="wrap_content" >
// Content ... //
</RelativeLayout>
我也试过了 android:background="@null"
- 效果是一样的。
如果我使用 android:background="#ff0000"
那么它就是红色的(应该是这样的)。但是我怎么才能让它透明呢?
更新
最终我使用了
<style name="MyThemeDialogCustom" parent="android:Theme.Holo.Dialog.NoActionBar" >
<item name="android:windowBackground">@color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
</style>
android:Theme.Holo.Dialog.NoActionBar
继承了我的主题。我更新了我的问题以展示这个解决方案。 - Nick