ScrollView渐变边缘与背景图像:文本被切断

时间:2011-10-30 16:58:39

标签: android background-image scrollview tablelayout

TableLayoutScrollView有背景图片。我面临的问题是在自定义背景图像中,渐变边缘的位置超出了背景图像的白色边框。这不是很好。如何使淡化边缘出现在白色边框之前?

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>

2 个答案:

答案 0 :(得分:2)

你的背景图片是9补丁吗? 9个补丁可以定义其内容区域的填充。这可以用于填充实际滚动的区域,这将改变渐变边缘的位置。它也比手动定义填充更好,因为填充在视觉上取决于您正在使用的背景资产。它只留下一个地方来定义这些参数。

请注意,从Android 4.0开始,我们已开始不再使用淡化边缘,当您定位API 14或更高版本时,默认情况下会禁用它们。我们的用户体验团队不喜欢它们与UI的其他元素在视觉上的结合,在一些常见的移动GPU架构上以硬件加速模式渲染它们的成本过高。

答案 1 :(得分:1)

android:paddingTop="10dip"android:paddingBottom="10dip"广告到ScrollView项。这样,此容器中的元素(此处的表格)将具有“outter(top / bottom)margin”。