我正在开发一个Android应用程序。
如何使我正在使用的自定义对话框的标题居中?
发布于 2011-04-08 11:54:08
我是在尝试做同样的事情时发现这篇文章的。这是我是如何为将来发现这一点的任何其他人做的。
样式xml如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="PauseDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowTitleStyle">@style/PauseDialogTitle</item>
</style>
<style name="PauseDialogTitle" parent="@android:style/TextAppearance.DialogWindowTitle">
<item name="android:gravity">center_horizontal</item>
</style>
<style name="DialogWindowTitle">
<item name="android:maxLines">1</item>
<item name="android:scrollHorizontally">true</item>
<item name="android:textAppearance">@android:style/TextAppearance.DialogWindowTitle</item>
</style>
</resources>
在我想要设置样式的对话框的activities方法中,我创建了如下对话框:
Dialog pauseDialog = new Dialog(this, R.style.PauseDialog);
pauseDialog.setTitle(R.string.pause_menu_label);
pauseDialog.setContentView(R.layout.pause_menu);
发布于 2012-11-13 19:00:40
另一种可以编程实现的方法是使用setCustomTitle():
// Creating the AlertDialog with a custom xml layout (you can still use the default Android version)
AlertDialog.Builder builder = new AlertDialog.Builder(this);
LayoutInflater inflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.viewname, null);
builder.setView(view);
TextView title = new TextView(this);
// You Can Customise your Title here
title.setText("Custom Centered Title");
title.setBackgroundColor(Color.DKGRAY);
title.setPadding(10, 10, 10, 10);
title.setGravity(Gravity.CENTER);
title.setTextColor(Color.WHITE);
title.setTextSize(20);
builder.setCustomTitle(title);
发布于 2014-10-09 11:00:03
您也可以在代码中完成此操作。假设您有对话框片段,然后添加以下代码行。
@Override
public void onStart()
{
super.onStart();
TextView textView = (TextView) this.getDialog().findViewById(android.R.id.title);
if(textView != null)
{
textView.setGravity(Gravity.CENTER);
}
}
https://stackoverflow.com/questions/4025605
复制相似问题