前言
虽然现在出了NestedScrollView,但是在维护一些老项目的时候,里面使用了ScrollView,又由于一些关联不能被替换掉,所以这个小问题还是记录一下。
问题描述
ScrollView的第一个子节点加了android:layout_marginTop就拉不到最下面了,底部的控件会被挡住一点。不加是正常的。
原因:根据网上的说法,当LinearLayout设置android:layout_marginTop=”10dp”属性的时候,ScrollView在开始显示的时候就会向下移10dp,正是这个原因才导致底部显示不全。
解决办法之一
在ScrollView和LinearLayout之间再嵌套一层LinearLayout布局,直接子LinearLayout就不加marginTop了,加在里层的LinearLayout上就可以了。
像下面这样:
<com.dhasa.dl.view.MyScrollView
android:id="@+id/sv_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/ll_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="30dp"
android:gravity="center"
android:orientation="vertical">
</LinearLayout>
</LinearLayout>
</com.dhasa.dl.view.MyScrollView>
网友评论