我正在我的 Android 应用程序中填充自定义对话框。对话框的布局是这样的:
<?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="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/parent"
app:cardBackgroundColor="@android:color/white"
app:cardCornerRadius="15dp"
app:cardElevation="3dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:id="@+id/interior_layout"
android:orientation="vertical">
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:scaleType="centerCrop"
android:adjustViewBounds="true"
android:layout_gravity="center_horizontal"
android:visibility="gone"
android:id="@+id/imageView"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/message"
android:textSize="14sp"
android:textColor="@android:color/black"
android:visibility="gone"
android:layout_marginTop="10dp"
android:text="Hello"
android:layout_gravity="center_horizontal"/>
</LinearLayout>
</androidx.cardview.widget.CardView>
Run Code Online (Sandbox Code Playgroud)
这是我用来膨胀对话框的代码:
Dialog alertDialog = new Dialog(activity);
alertDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialogView = LayoutInflater.from(activity).inflate(R.layout.layout_progress_dialog, null);
alertDialog.setContentView(dialogView);
Objects.requireNonNull(alertDialog.getWindow()).setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
Run Code Online (Sandbox Code Playgroud)
但是,未设置拐角半径。边角依然很锋利。我尝试使用警报对话框,但我遇到了它覆盖整个宽度的问题(就像进度对话框一样)。使用 Dialog,我可以根据需要获得宽度。