AlertDialog.show()的title居中
时间: 2024-10-20 17:10:47 浏览: 21
Android对话框AlertDialog.Builder使用方法详解
5星 · 资源好评率100%
`AlertDialog.show()`是一个显示对话框的方法,它默认展示的标题通常是左对齐的。如果你想让标题居中,Android并没有直接提供设置标题居中的选项,因为Android的设计倾向于保持组件的一致性和简约。但是,你可以通过自定义`AlertDialog.Builder`并重写其`getTitleView()`方法来实现这个效果。
首先,在你的布局资源文件中创建一个TextView作为标题,并添加到你的自定义视图中:
```xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/title_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceDialogWindowTitle" />
</LinearLayout>
```
然后,在你的Activity或Fragment中创建并初始化`AlertDialog.Builder`,并将自定义布局作为标题:
```java
LayoutInflater inflater = LayoutInflater.from(context);
View titleView = inflater.inflate(R.layout.dialog_title_custom, null);
AlertDialog.Builder builder = new AlertDialog.Builder(context)
.setTitle(new DialogInterface>TitleCreator() {
@Override
public View getTitleView(DialogInterface dialog, int i) {
((TextView) titleView.findViewById(R.id.title_text_view)).setText(titleText);
return titleView;
}
});
builder.setView(titleView); // 将自定义布局添加到对话框
builder.setCancelable(true);
AlertDialog alertDialog = builder.create();
alertDialog.show();
```
在这个例子中,`titleText`是你想要显示的标题文本。现在,每次显示对话框时,标题就会居中了。
阅读全文