我正在创建一个Android应用并在onCreateView(..)中为一个DialogFragment充气。结果如下:
我希望对话框也变得半透明(如背景)。这是我的对话框布局:
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/fadedBlack">
<ImageView
android:id="@+id/confirm"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginBottom="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="8dp"
android:src="@drawable/ic_tick"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.952"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/task_name"
app:layout_constraintVertical_bias="0.0" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="8dp"
android:text="@string/deadline"
android:textColor="@android:color/white"
android:textSize="16sp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.346" />
<TextView
android:id="@+id/task_deadline"
android:layout_width="97dp"
android:layout_height="18dp"
android:layout_marginBottom="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:textColor="@android:color/white"
android:textSize="16sp"
app:layout_constraintBottom_toTopOf="@+id/task_name"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.571"
tools:text="7:30 AM Mon"
android:layout_marginRight="8dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintHorizontal_bias="0.0" />
<EditText
android:id="@+id/task_name"
android:layout_width="200dp"
android:layout_height="40dp"
android:layout_marginBottom="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="8dp"
android:hint="@string/name"
android:selectAllOnFocus="false"
android:textColor="@android:color/white"
android:textColorHint="@android:color/white"
android:textSize="16sp"
android:theme="@style/AppTheme.LightEditText"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/change_deadline"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginBottom="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="8dp"
android:src="@drawable/ic_schedule"
app:layout_constraintBottom_toTopOf="@+id/task_name"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintLeft_toRightOf="@+id/task_deadline"
app:layout_constraintRight_toRightOf="@+id/task_name"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.974" />
<ImageView
android:id="@+id/build_image"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginBottom="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="8dp"
android:src="@drawable/ic_build"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/confirm"
app:layout_constraintTop_toBottomOf="@+id/task_name"
app:layout_constraintVertical_bias="0.0" />
</android.support.constraint.ConstraintLayout>
我尝试的事情:
a)将fadedBlack的值设置为透明色。结果是深黑色转变为纯白色。
b)我在某处读到背景颜色是黑色的,含有60%的alpha,所以我尝试将fadedBlack的值设置为,但是徒劳无功。
如果有人可以帮助我,我真的很感激。提前谢谢。
编辑:找到答案here。我正在使用AlertDialog.Builder()构建对话框,它在透明对话框中做得不是很好。因此,必须手动实例化对话框并将视图分配给它。