我必须像这张图片一样制作一个透明的对话框。我已经尝试过多种方式,比如设置背景android:background="#CCFF0000"
或者像.java文件那样设置背景颜色
llWhole.setBackgroundColor(Color.TRANSPARENT);
。这里llWhole
是我的xml的父LinearLayout
。
我还在xml文件中尝试了android:background="@android:color/transparent"
。我也试过了View.setAlpha(0.7)
。
不幸的是,他们都没有帮助我创建这个布局。你能帮我解决这个问题吗?提前谢谢。
我的.xml就在这里
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/llWhole"
android:alpha = "0.7"
android:layout_gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:alpha = "0.7"
android:layout_gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="Are You OK?"
android:textColor="#000"
android:paddingTop="10dp"
android:paddingRight="10dp"
android:paddingLeft="10dp"
android:gravity="center"
android:textSize="18sp"
android:background="#FFF"/>
<View
android:layout_width="fill_parent"
android:layout_height="40dp"
android:alpha = "0.7"
android:background="#00FFFFFF" >
</View>
<LinearLayout
android:paddingTop="10dp"
android:paddingRight="10dp"
android:paddingLeft="10dp"
android:paddingBottom="20dp"
android:background="#00FFFFFF"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/tvOK"
android:layout_width="55dp"
android:layout_height="wrap_content"
android:text="OK"
android:textColor="#000"
android:gravity="center"
android:textSize="18sp"
android:background="#F11"/>
<TextView
android:id="@+id/tvNo"
android:layout_width="55dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="NO"
android:textColor="#000"
android:gravity="center"
android:textSize="18sp"
android:background="#F11"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
注意:
com.android.support:appcompat-v7:23.0.1
android.support.v4.app.DialogFragment
我的mainActivity扩展了android.support.v7.app.AppCompatActivity;
。从这个Activity我将展示这个DialogFragment。
MyDialogFragment dialogFragment = new MyDialogFragment();
dialogFragment.show(getSupportFragmentManager(),
"my_transparent_dialog");
答案 0 :(得分:0)
请尝试myDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
注意: 但考虑使用默认背景并与材料设计ui模式保持一致。
答案 1 :(得分:0)
在你的dialogFragment onCreate中,尝试使用setStyle(,)来设置样式 @android:彩色/透明 真
答案 2 :(得分:0)
最后,我使用这行代码解决了这个问题onCreateView
回调。
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(0));
我是从here
找到的