调用我的对话框:
alertDialog = showInfoDialog(message = "$wrongPasscodeMessage\n$retryMessage")
方法如下:
fun FragmentActivity.showInfoDialog(message: String?): AlertDialog? {
return try {
val customLayout = layoutInflater.inflate(R.layout.custom_layout, null)
AlertDialog.Builder(this)
.setView(customLayout)
.setMessage(message)
.setCancelable(false)
.show()
} catch (e: java.lang.Exception) {
e.log()
null
}
}
下面是我的自定义布局:
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/red"
android:paddingStart="@dimen/dp_44"
android:paddingEnd="@dimen/dp_44"
app:cardCornerRadius="@dimen/dp_12" />
但是我不知道为什么我的对话框没有背景红色和圆角? 我错过了什么?
更新:例如,如果我更改了我的custom_layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/red" >
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="350dp"
android:scaleType="centerCrop"
android:adjustViewBounds="true"
android:src="@drawable/googleg_disabled_color_18"/>
</LinearLayout>
但我想要这样的smth
按照如下所示创建一个可绘制的XML
:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/colorPrimary"/>
<corners android:radius="20dp" />
</shape>
形状中的半径提供圆角。 现在,您可以将此drawable设置为对话框的LinearLayout
的背景,或者在res/styles.xml
中使用自定义的