我正在用希伯来语写一个应用程序(这是rtl)。 当我设置对话框片段的标题时,它出现在左侧。 我尝试通过执行以下操作使其显示:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
//set's up the title for this dialog fragment
getDialog().getWindow().setGravity(Gravity.RIGHT);
getDialog().setTitle(R.string.find_Address_text);
但它不会影响标题的位置。 我怎么能实现这个目标? TNX
答案 0 :(得分:18)
隐藏默认标题并在布局中制作自定义标题。
隐藏默认标题:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(STYLE_NO_TITLE, 0); // remove title from dialogfragment
}
然后使用您首选的样式将TextView添加到布局顶部:
<TextView
android:id="@+id/dialog_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="right|center"
android:text="@string/dialog_title" />
答案 1 :(得分:6)
我知道这是一个老答案。但对于可能有同样问题的其他人:
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog dlg = super.onCreateDialog(savedInstanceState);
dlg.setTitle("Title");
TextView titleTextView = (TextView) dlg.findViewById(android.R.id.title);
titleTextView.setGravity(Gravity.RIGHT | Gravity.CENTER_VERTICAL);
return dlg;
}
这样我们就有标题栏,我们不需要自定义标题栏。