对话框显示-它不适合屏幕,并且我无法将对话框移至屏幕上其余消息

时间:2018-07-26 13:00:50

标签: java android dialog alertdialog

我有一些dialog_alert.xml

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/colorWhite">

    <LinearLayout
        android:id="@+id/cv"
        android:layout_width="match_parent"
        android:layout_gravity="center"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:elevation="4dp">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/colorAccent"
                android:gravity="center"
                android:padding="15dp"
                android:text="@{vm.title}"
                android:textColor="@color/colorWhite"
                android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
            <ProgressBar
                style="@style/ProgresBarTop"
                android:indeterminate="@{vm.working}"
                android:layout_margin="0dp"
                android:padding="0dp"/>

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:padding="15dp"
                android:text="@{vm.message}"
                android:textColor="@color/colorBlack" />


        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal" >
        <Button
            style="@style/ActionButton"
            android:layout_gravity="center_horizontal"
            android:text="@string/ok"
            android:onClick="@{v-> vm.okClick(v)}"/>
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

和在视图模型中

AlertDialog ad = new AlertDialog(context, R.string.synchro, sb.toString()
                        , SYNC_COMPLETE_DIALOG);

ad.show();

并且当此警报显示时,该消息显示为大时在屏幕上显示时,我无法将屏幕移至该消息的底部。它被阻止了。警报不会对触摸屏做出反应,无法向下移动到消息的其余部分。

有什么解决办法吗?

1 个答案:

答案 0 :(得分:0)

如果将布局包装在<ScrollView>中,则可以上下滚动对话框的内容。例如,在您的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">

    <!-- YOUR EXISTING LAYOUT CODE GOES HERE -->

</ScrollView>