2011-12-21 35 views
3

假设我有一个从java文件打开的对话框。我想要设置这些对话框的多行标题。如何在多行中显示对话框的标题?

dialog = new Dialog(context); 
    dialog.setContentView(R.layout.issue_attachment_preview);  
    String title=getString(R.string.previewImageDialogTitle)+"\n ["+attachment.filename+"]"; 
    dialog.setTitle(title); 
    dialog.setCancelable(true); 

但它不显示标题多行,请建议我任何可用的链接或示例。

回答

3

添加

dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
立即

调用super.onCreate和之前setContentView后。

然后加上你的对话框布局的顶部,其将作为标题

9
TextView tv = (TextView) dialog.findViewById(android.R.id.title); 
tv.setSingleLine(false); 
+0

这工作好了多TextView的,应该保持它的标题的其他所有功能被接受的答案。 – 2014-05-19 11:53:44

+0

只是要注意,如果你的对话框扩展了一个AppCompatDialog,那么你需要小心你放置这段代码的位置。我把它放在DialogFragment的onCreateDialog中,直到它支持库的v23.2.1正常工作,它突然开始抛出“添加内容之前必须请求的窗口功能”异常。解决方案是在生命周期的后期将其移至某个事件,例如onStart。 – aaronmarino 2016-03-14 16:19:35