4

我有一个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>

当屏幕尺寸和密度较低时,子项会正确显示在 ScrollView 中,但是当在 HDPI 和 XHDPI 等更大的屏幕上渲染此活动时,内容会放置在 ScrollView 的顶部。

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

4

2 回答 2

14

你可以做的是尝试用它的和as添加android:layout_gravity="center"到。由于 ScrollView 自行管理其子布局的高度和宽度。ScrollViewlayout_widthlayout_heightwrap_content

于 2012-08-29T15:38:01.450 回答
1

正常情况下,ScrollView 只会占用最少的空间,所以根本不会出现垂直对齐的问题(垂直滚动的情况下)。您可以浏览http://www.curious-creature.org/2010/08/15/scrollviews-handy-trick/中的文章。它可能会帮助你。

于 2012-08-29T13:14:06.257 回答