我有一个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?
答案 0 :(得分:13)
您可以尝试将android:layout_gravity="center"
添加到ScrollView
,其layout_width
和layout_height
为wrap_content
。由于ScrollView将自己管理为子布局的高度和宽度。
答案 1 :(得分:1)
在正常情况下,ScrollView仅占用所需的最小空间,因此垂直对齐的问题(在垂直滚动的情况下)根本不会出现。您可以浏览http://www.curious-creature.org/2010/08/15/scrollviews-handy-trick/中的文章。它可能对你有帮助。