TableLayout
内ScrollView
有背景图片。我面临的问题是在自定义背景图像中,渐变边缘的位置超出了背景图像的白色边框。这不是很好。如何使淡化边缘出现在白色边框之前?
http://img444.imageshack.us/img444/6775/fadingedge.png
XML
<ScrollView android:id="@+id/ScrollView01"
android:layout_width="fill_parent"
android:layout_height="240dip"
android:layout_alignParentLeft="true"
android:layout_marginRight="9dip"
android:layout_marginLeft="10dip"
android:background="@drawable/bg"
>
<TableLayout android:id="@+id/table" android:layout_width="fill_parent"
android:layout_marginBottom="10dip" android:layout_marginTop="10dip"
android:layout_height="fill_parent">
<TableRow android:id="@+id/TableRow01" android:layout_marginLeft="20dip"
android:layout_marginTop="10dip" android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TableRow>
</TableLayout>
</ScrollView>
答案 0 :(得分:2)
你的背景图片是9补丁吗? 9个补丁可以定义其内容区域的填充。这可以用于填充实际滚动的区域,这将改变渐变边缘的位置。它也比手动定义填充更好,因为填充在视觉上取决于您正在使用的背景资产。它只留下一个地方来定义这些参数。
请注意,从Android 4.0开始,我们已开始不再使用淡化边缘,当您定位API 14或更高版本时,默认情况下会禁用它们。我们的用户体验团队不喜欢它们与UI的其他元素在视觉上的结合,在一些常见的移动GPU架构上以硬件加速模式渲染它们的成本过高。
答案 1 :(得分:1)
将android:paddingTop="10dip"
和android:paddingBottom="10dip"
广告到ScrollView
项。这样,此容器中的元素(此处的表格)将具有“outter(top / bottom)margin”。