0

我正在尝试在 Android 应用程序中将添加到警报对话框的图像居中,如下所示:

    android.app.AlertDialog.Builder appInfoDialog = new AlertDialog.Builder(this);

    appInfoDialog.setIcon(R.drawable.image);
    appInfoDialog.setTitle(" ");
    appInfoDialog.setMessage("App Info...");

    appInfoDialog.setCancelable(true);

    AlertDialog dialog = appInfoDialog.create();
    dialog.show();  

但是我怎样才能使这个图像居中呢?目前,它是左对齐的。

我找不到它的重力或 layout_align 属性!

4

1 回答 1

4

你不能这样做,但你可以像这样创建自己的对话框:

/values/themes.xml

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

    <style name="Dialog" parent="android:style/Theme.Dialog">
        <item name="android:windowBackground">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
    </style>

</resources>

/layout/custom_dialog.xml

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

<RelativeLayout
    android:id="@+id/relativeLayout1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="10dip"
        android:text="wpisz tekst by wyszukać piosenkę"
        android:textColor="#5E636D" />

    <EditText
        android:id="@+id/value_mini"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="40.0dip"
        android:background="@drawable/input_text"
        android:paddingLeft="10px" />

    <Button
        android:id="@+id/search_mini"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="80dip"
        android:text="szukaj" />
</RelativeLayout>

在方法中:

            Dialog dialog = new Dialog(Start.this, R.style.Dialog);
            dialog.setContentView(R.layout.custom_dialog);
            Button button = (Button) dialog.findViewById(R.id.search_mini);
            final EditText et = (EditText) dialog.findViewById(R.id.value_mini);
            button.setOnClickListener(new OnClickListener() {
            @Override
                public void onClick(View v) {
                    //do something
                }
            });
            dialog.show();
于 2011-12-05T19:59:05.340 回答