如果屏幕足够大,我需要一个 ScrollView,它在它的中心显示内容,否则它应该显示滚动。
这是我用于测试的示例代码
<ScrollView
android:id="@+id/maincontent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/admob"
android:layout_below="@id/app_bar">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="abc1\nabc2\nabc3\nabc4\nabc5\nabc6\nabc7\nabc8\nabc9\nabc10\nabc11\nabc12\nabc13\nabc14\nabc15\nabc16\nabc17\nabc18\nabc19\nabc20\nabc21"
android:textSize="35sp"
android:textStyle="bold"/>
</LinearLayout>
</ScrollView>
我的应用需要在从 abc1 到 abc21 的滚动视图中显示。但相反,它显示从 abc 5 到 abc21 并带有额外的底部空间。检查下面被攻击的屏幕截图:
这是显示从 abc5 而不是 abc1 开始的 textview 的图片:
这是在文本视图下方显示额外空间的图片:
额外的空间测量正确的文本视图中的缺失部分,并且问题仅在需要滚动时才会消失(即,如果内容适合屏幕并且不需要滚动时 - 它们出现问题,当内容更多并且需要滚动时问题来了)。
更新 1 :- 添加了一些风景图片
顶部
额外空间
末端
更新 2:一旦我删除了 layout_gravity="center" 问题就解决了,但我需要那个属性。因为我的内容是动态的,当需要显示小内容时,它应该显示在中心而不是顶部(当我删除该属性时会发生这种情况),当内容很大时,它需要显示滚动。