2012-12-27 18 views
0

我正在使用图层列表来创建底部只有1dp边框的形状。Android:自定义形状(图层列表的行为)

我写了一个XML创建形状

<!-- Bottom Line --> 

<item> 

    <shape android:shape="rectangle" > 

     <solid android:color="#CCCCCC" /> 
    </shape> 
</item> 

<item android:bottom="1dp"> 

    <shape android:shape="rectangle" > 

     <gradient 
      android:angle="270" 
      android:endColor="@color/gradient_end" 
      android:startColor="@color/gradient_start" /> 
    </shape> 
</item> 

这完全适用于所有的手机除了具有小屏幕尺寸的手机。在小屏幕尺寸的边界不显示。这是在Android的某种错误,或者我做错了什么?

+0

值的颜色:<颜色名称=“gradient_start”>#FFFFFF <颜色名称=“gradient_end”>#EEEEEE –

+1

不是一个真正的答案,但只是觉得我应该指出的是,绘图使用这种方法行在[透支]方面相当昂贵(http://www.curious-creature.org/2012/12/01/android-performance-case-study/)。您可能最终会不止一次地绘制大面积区域,只是将一条水平线可视化。 –

+0

Absoultely正确的MH。你能否提出一些其他方法来达到同样的效果? –

回答

0

我假设1dp小于一个像素的小屏幕尺寸。尝试对android:bottom使用2dp或1px。