放置一个块在滚动型的中心(Place a block at the center of a Scro

2019-06-27 13:09发布

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

当屏幕大小和密度低,孩子正确地显示在滚动型,但呈现像华电国际和XHDPI一个更大的屏幕上这个活动的时候,内容被放置在滚动型的顶部。

有什么办法来设置重力的滚动型的唯一的孩子,还是我已经删除了滚动视图如果设备屏幕比孩子的身高measered更大?

Answer 1:

你能做的就是尽量将android:layout_gravity="center" ,以ScrollView ,其layout_widthlayout_heightwrap_content 。 由于滚动型自行管理其子布局的高度和宽度。



Answer 2:

在正常的情况下,滚动型只会占用所需的最小空间,因此垂直取向(在垂直滚动的情况下)的问题不会出现在所有。 你可能会经历的文章http://www.curious-creature.org/2010/08/15/scrollviews-handy-trick/ 。 它可以帮助你。



文章来源: Place a block at the center of a ScrollView