Android 中心对齐线性布局的滚动视图以小分辨率设备和横向模式包装顶部内容

Android 中心对齐线性布局的滚动视图以小分辨率设备和横向模式包装顶部内容,android,android-layout,android-ui,Android,Android Layout,Android Ui,中心对齐的线性布局的滚动视图在小分辨率设备以及横向模式中包装顶部内容 但是当我移除线性布局中的中心垂直时,它工作得很好,但是我希望线性布局只在中心垂直 下面是我的代码: <ScrollView android:id="@+id/bodyscrollview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layo

中心对齐的线性布局的滚动视图在小分辨率设备以及横向模式中包装顶部内容

但是当我移除线性布局中的中心垂直时,它工作得很好,但是我希望线性布局只在中心垂直

下面是我的代码:

<ScrollView
        android:id="@+id/bodyscrollview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:fillViewport="true" >

        <LinearLayout
            style="@style/app_update_alert_bg"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_gravity="center_vertical"
            android:layout_marginBottom="5dp"
            android:orientation="vertical" >

            <TextView
                style="@style/app_update_alert_bg_text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/updateinfo1" />

            <TextView
                style="@style/app_update_alert_bg_text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/updateinfo2" />

            <ImageView
                style="@style/margin5dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:background="@drawable/switching_image_border"
                android:src="@drawable/switching_image_sb" />

            <ImageView
                style="@style/margin5dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:background="@drawable/switching_image_border"
                android:src="@drawable/switching_image_ucc" />

            <CheckBox
                android:id="@+id/chckbox_dontshow_again"
                style="@style/margin5dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:button="@drawable/custom_checkbox"
                android:text="@string/updateinfo_dontshow" />

            <Button
                android:id="@+id/btn_updatealert_confirmation"
                style="@style/buttonStyle.signInButton"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_margin="5dp"
                android:text="OK" />
        </LinearLayout>
    </ScrollView>
试试这个方法,希望这能帮助你解决你的问题


因为您使用了android:fillViewport=true,所以您的滚动视图将拉伸以填充屏幕高度,从而使您的android:layout\u gravity=center无所事事。如果你真的需要居中布局,请使用android:gravity=center。ScrollView的子视图也是如此,使用android:layout\u gravity=center。另一个技巧是在ScrollView中使用填充,而不是在ScrollView子级中使用边距。谢谢你的回答,但是在发布这个问题之前,我尝试了所有这些方法。我需要一些其他的解决方案。谢谢你的Haresh,你的代码是完美的工作,但在我的要求这里,我需要家长应该是滚动视图不仅不是线性布局或相对布局也很好。如果你有什么解决办法,请告诉我。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center">

    <ScrollView
        android:id="@+id/bodyscrollview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="5dp">

        <LinearLayout
            style="@style/app_update_alert_bg"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <TextView
                style="@style/app_update_alert_bg_text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/updateinfo1" />

            <TextView
                style="@style/app_update_alert_bg_text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/updateinfo2"
                android:layout_marginTop="5dp"/>

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:background="@drawable/switching_image_border"
                android:src="@drawable/switching_image_sb"
                android:layout_marginTop="5dp"/>

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:background="@drawable/switching_image_border"
                android:src="@drawable/switching_image_ucc"
                android:layout_marginTop="5dp"/>

            <CheckBox
                android:id="@+id/chckbox_dontshow_again"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:button="@drawable/custom_checkbox"
                android:text="@string/updateinfo_dontshow"
                android:layout_marginTop="5dp"/>

            <Button
                android:id="@+id/btn_updatealert_confirmation"
                style="@style/buttonStyle.signInButton"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="5dp"
                android:text="OK" />
        </LinearLayout>
    </ScrollView>
</LinearLayout>