【发布时间】:2018-11-02 07:45:42
【问题描述】:
我正在尝试创建自定义警报对话框。这是我的 alertdialog 自定义布局 xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:gravity="center"
android:orientation="horizontal">
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="match_parent" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:text="Processing" />
</LinearLayout>
</RelativeLayout>
以及我调用自定义警报对话框的活动中的代码
LayoutInflater inflater = MainActivity.this.getLayoutInflater();
View dialogView = inflater.inflate(R.layout.layoutalertprogress, null);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(MainActivity.this);
alertDialogBuilder.setView(dialogView);
alertDialog = alertDialogBuilder.create();
if(!alertDialog.isShowing())
{
alertDialog.show();
}
alertdialog 的实际宽度在运行时看起来像这样 所以 alertdialog 的实际宽度更宽(比上面显示的布局更宽)。 似乎线性布局宽度没有包裹到它的内容,所以从它的边缘到它的子元素有很大的未使用空间。如何使这个线性布局宽度包裹其内容,以便可以删除其边缘未使用的空间?谢谢
【问题讨论】:
-
将父级相对布局宽度从
match_parent更改为wrap_content。 -
对线性布局的子元素使用固定大小。
标签: android android-layout android-alertdialog android-dialog