我有一个自定义AlertDialog,我想使其背景完全透明。
通常,为了使 Activity 完全透明,我执行以下操作
#00000000
android:theme="@android:style/Theme.Holo.Dialog"
。getWindow().setBackgroundDrawable(new ColorDrawable(0))
。但是现在我正在处理对话框,如何实现透明性?
这是对话框代码:
LayoutInflater inflater = getLayoutInflater();
View dialoglayout = inflater.inflate(R.layout.activity_mine1,
(ViewGroup) findViewById(R.layout.mine1));
mine1 = new AlertDialog.Builder(this);
mine1.setView(dialoglayout);
mine1.show();
而且我的xml只是带有其他 subview 的relativeLayout:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00000000" >
...
</RelativeLayout>
注意:我已经在这里查看过一些类似的帖子,但是它们似乎没有用。我的真正原因是我真正要使用的背景不是矩形。我可以在一项 Activity 中使用它。但是我想改用对话框。
编辑:
进一步玩耍,我有这个
style.xml
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="CustomDialog" parent="android:Theme.Holo.Dialog">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>
</resources>
我添加为new AlertDialog.Builder(this, R.style.CustomDialog)
最佳答案
使用Dialog而不是AlertDialog.Builder
,因此使用setContentView而不是setView。