如何在Android警报对话框标题中居中图像?

时间:2011-12-05 19:45:22

标签: android layout alertdialog gravity

我正在尝试将我添加到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属性!

1 个答案:

答案 0 :(得分:3)

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

/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();