在多行上包装android对话框标题

时间:2011-11-16 13:54:42

标签: java android dialog google-api

有没有办法将Android自定义对话框中的标题包装到多行?无需制作AlertDialog?

dialog.setContentView(R.layout.custom_dialog);
dialog.setTitle(itemTitle);

“itemTitle”有时太长,只显示一半文字。enter image description here

4 个答案:

答案 0 :(得分:6)

this question

复制的答案

您可以将对话框标题设为多行:

TextView title = (TextView) dialog.findViewById(android.R.id.title);
title.setSingleLine(false);

答案 1 :(得分:1)

答案 2 :(得分:1)

您可以将TextView放在用于对话框的任何父布局的开头:

<TextView
    android:id="@+id/mydialogtitle"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textColor="@color/white"
    android:background="@color/black"
    android:textSize="20sp" />

并添加:

dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.mydialog);
TextView dialogTitle = (TextView) dialog.findViewById(R.id.mydialogtitle);
dialogTitle.setText("My dialog title");

答案 3 :(得分:1)

您可以使用完全自定义的视图来扩展标题,我认为这是最简单的方法。像这样:

AlertDialog.Builder builder = new AlertDialog.Builder(this);

String infService = Context.LAYOUT_INFLATER_SERVICE;
LayoutInflater inflater = (LayoutInflater) context.getSystemService(infService);

View titleView = inflater.inflate(R.layout.dialog_title, null);

builder.setCustomTitle(titleView);

其中R.layout.dialog_title可以是包含多行或任何您想要的任何内容的TextView。