如何设置对话框标题的位置?

4

我正在尝试将对话框标题重心设置为右侧,因为我正在显示阿拉伯文本。请查看附加的图片。

Click here

所以,我想把标题文本显示在右边。请建议我一种方法。谢谢您的提前帮助。


准备一个自定义视图并将其用于您的对话框! - Xenolion
@Xenolion:我想使用默认对话框,并在其中将标题设置在右侧。 - Mehul Ranpara
是一个AlertDialog吗?还是? - Xenolion
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context,R.style.AppCompatAlertDialogStyle);警告对话框生成器 alertDialogBuilder = new AlertDialog.Builder(context,R.style.AppCompatAlertDialogStyle); - Mehul Ranpara
好的,如果它能够工作,那就是我的答案! - Xenolion
3个回答

7

据我所见,您正在使用阿拉伯语,这是从右至左RTL,您可以自定义整个AlertDialog以从右到左显示,如果您将代码转换为RTL,这将非常有帮助。

好的,请这样做

AlertDialog alertDialog = builder.create();

//We first check if it is above or equal Jelly Bean and setLayoutDirection

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
    alertDialog.getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
}

3
您可以使用setCustomTitle方法来提供自己的TextView:
TextView mTitle = new TextView(this);
mTitle.setText("My Title");
mTitle.setGravity(Gravity.RIGHT);

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setCustomTitle(mTitle)
    .create()
    .show();

0
TextView mTitle = new TextView(this);
mTitle.setText("کاربر گرامی به جهت الزما جهت استفاده از برنامه لطفا اطلاعات صحیح وارد نماید");
mTitle.setGravity(Gravity.RIGHT);
mTitle.setPadding(10,20,20,10);
mTitle.setTextSize(14);
LayoutInflater layoutInflater = getLayoutInflater();
final View view = layoutInflater.inflate(R.layout.layout_get_user_info, null);
final AlertDialog alertDialog = new AlertDialog.Builder(this).create();

alertDialog.setCustomTitle(mTitle);
// alertDialog.setIcon("Icon id here");
alertDialog.setCancelable(false);
// Constant.alertDialog.setMessage("Your Message Here");

final EditText etComments = (EditText) view.findViewById(R.id.editTextEmailAddress);

alertDialog.setButton(AlertDialog.BUTTON_POSITIVE, "ثبت", new DialogInterface.OnClickListener() {
  @Override
  public void onClick(DialogInterface dialog, int which) {
    showMessage("پیام");
  }
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接