将块放在ScrollView的中心

Jer*_*ith 4 android scrollview android-layout layout-gravity

我有一个ScrollView包含一个子元素(由LinearLayout包装的元素).有时候这个孩子的身高是视口高度的一半,有时它会更大.

这里的布局:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:paddingBottom="10dp"
    android:paddingTop="10dp"
    android:background="@color/some_background">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:background="@drawable/fond_consult"
        android:orientation="vertical"
        android:weightSum="2">

        ... Some TextViews and ImageViews...

    </LinearLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)

当屏幕大小和密度较低时,子项在ScrollView中正确显示,但是当在较大的屏幕(如HDPI和XHDPI)上呈现此活动时,内容将放置在ScrollView的顶部.

有没有办法为ScrollView的唯一子项设置重力,或者如果设备屏幕大于孩子的高度,我是否必须删除scrollView?

Lal*_*ani 13

你可以做的是尝试添加android:layout_gravity="center"ScrollViewlayout_widthlayout_heightwrap_content.由于ScrollView将自己管理到子布局的高度和宽度.

  • 大声笑我搜索了多个stackoverflow问题这个问题没有人提到一个真正的解决方案,只是它的原因.那你就是...... :) (2认同)