Nic*_*ick 8 android android-dialog
我需要在Android应用程序中显示自定义对话框.标准AlertDialog设计是不可接受的.Android文档说:
提示:如果需要自定义对话框,则可以将"活动"显示为对话框,而不是使用"对话框API".只需创建一个活动并将其主题设置为清单元素中的Theme.Holo.Dialog:
而已.活动现在显示在对话窗口而不是全屏.
听起来很有希望.我做到了,但透明度不起作用!背景总是灰色的:

这是清单中的一个desc:
<activity
android:name=".MyDialogActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Holo.Dialog.NoActionBar" >
</activity>
Run Code Online (Sandbox Code Playgroud)
这是我活动的根源:
<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>
Run Code Online (Sandbox Code Playgroud)
我也尝试过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>
Run Code Online (Sandbox Code Playgroud)
像这样制作主题
<style name="ThemeDialogCustom">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:windowBackground">@color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
</style>
Run Code Online (Sandbox Code Playgroud)
尝试...
你可以避免像这样的灰色背景,这里我确实得到了透明背景。
........
Dialog dialog = new Dialog(MainActivity.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
Window window = dialog.getWindow();
window.setBackgroundDrawableResource(android.R.color.transparent);
dialog.setContentView(R.layout.popup_layout);
Button dialogBtn= (Button) dialog.findViewById(R.id.btn);
dialogBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//task
}
});
dialog.show();
.......
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12413 次 |
| 最近记录: |