繁体   English   中英

Android AlertDialog无法垂直居中/缩放

[英]Android AlertDialog not centering/scaling vertically

我正在构建一个包含自定义视图的AlertDialog,如下所示:

@Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
        case DIALOG_INTRO:
            // setup the dialog
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            View inflatedLayout = ((LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE)).inflate(R.layout.intro, null);
            builder.setView(inflatedLayout);

            // return the dialog
            return builder.create();
    }

    return super.onCreateDialog(id);
}

以及布局XML:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"  
    android:layout_width="match_parent" 
    android:layout_height="match_parent"
    android:background="#000000">

    <TableLayout 
        android:layout_height="match_parent" 
        android:layout_width="match_parent"
        android:stretchColumns="2"
        android:shrinkColumns="1">

        <TableRow>
            <TextView 
                android:id="@+id/intro_TextView_title"
                android:layout_height="wrap_content"
                android:layout_span="2"
                android:gravity="center"
                android:text="@string/intro_title"
                android:textSize="22sp" 
                android:textColor="#FFFFFF" />
        </TableRow>

        <TableRow
            android:layout_marginTop="20dip" >
            <ImageView 
                android:layout_height="wrap_content" 
                android:layout_width="wrap_content"
                android:layout_marginLeft="25dip"
                android:layout_marginRight="25dip"
                android:paddingTop="2dip"
                android:src="@drawable/intro_add" />
            <TextView 
                android:id="@+id/intro_TextView_add"
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:layout_marginRight="20dip"
                android:text="@string/intro_add" 
                android:textColor="#FFFFFF" />
        </TableRow>

        <!-- ... -->

    </TableLayout>
</ScrollView>

这给了我一个看起来像这样的对话框(细节模糊,抱歉):

模糊的AlertDialog屏幕截图

问题是顶部(对话框上方)的差距很大。 我有什么办法可以摆脱它或让底部有类似的缺口?

该错误的描述如下: http : //code.google.com/p/android/issues/detail?id=11824 即使没有标题也没有图标,AlertDialog仍为标题/图标面板保留空间。

我认为解决方法很简单:应该将顶部面板的布局设置为GONE,就像在没有按钮的情况下对按钮面板的设置一样。 在完成此操作之前,唯一的解决方法是实现自己的Dialog子类。

原来这是一个错误(有点)。 您只需要实现自己的对话框即可使其正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM