1

我一直在尝试更改我的 AlertDialog 以便它显示正确对齐的文本(对于希伯来语)。

在 inazaruk 的帮助下:在 AlertDialog 中右对齐文本 我设法让对话框显示,但它只能在模拟器(Eclipse)中正常工作。当我将它移到我的设备 (Xperia X10a) 上时,警告框出现在屏幕顶部,背景挡住了它后面的所有内容。

模拟器上的图片:

在此处输入图像描述

我设备上的图像:

在此处输入图像描述

代码:

    public class test extends Activity {
    /** Called when the activity is first created. */

    public class RightJustifyAlertDialog extends AlertDialog {

        public RightJustifyAlertDialog(Context ctx) { 
              super(ctx, R.style.RightJustifyTheme); } }

   @Override
    public void onCreate(Bundle savedInstanceState) {
        final Context con = this;
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main);

        Button button1 = (Button) findViewById(R.id.button1);
        button1.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                AlertDialog dialog = new RightJustifyAlertDialog(con);
                dialog.setButton("button", new OnClickListener(){           
                    public void onClick(DialogInterface arg0, int arg1)
                    {

                    }
                });

        dialog.setTitle("Some Title");
        dialog.setMessage("Some message");

        dialog.show();
            }

        });

    }
}

款式:

<?xml version="1.0" encoding="utf-8"?>
<resources>

<style name="RightJustifyTextView" parent="@android:style/Widget.TextView">
    <item name="android:gravity">right|center_vertical</item>
    <item name="android:layout_centerVertical">true</item>
</style>

<style name="RightJustifyDialogWindowTitle" parent="@android:style/DialogWindowTitle" >
     <item name="android:gravity">right|center_vertical</item>
    <item name="android:layout_centerVertical">true</item>
</style>

<style name="RightJustifyTheme" parent="@android:style/Theme.Dialog.Alert">
    <item name="android:textViewStyle">@style/RightJustifyTextView</item>       
    <item name="android:windowTitleStyle">@style/RightJustifyDialogWindowTitle</item>       
</style>    

</resources>

我的设备正在使用 Android 2.1-update1 并且模拟器设置为相同。

4

1 回答 1

0

要排除的一件简单的事情...检查您设备的其他应用程序,看看它们是否都删除了 AlertDialog 背景 alpha 透明度。您可以尝试删除默认邮件应用程序中的某些内容,或者其他也可以长按删除项目的应用程序。我不认为有必要改变这种风格,但你永远不知道这些天运营商会做什么。

于 2011-05-29T15:08:20.877 回答