填充带有九个补丁背景的文本视图没有视觉效果

时间:2011-01-31 21:07:00

标签: android textview nine-patch

我试图基于textview创建像控件一样的toast,我发现textview非常奇怪的行为,以防它有九个可绘制的补丁作为背景。

这是xml定义:

<by.pplware.view.QuickInfo
    android:id="@+id/quickinfo"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:padding="20px"
    android:textSize="20px"
    android:textStyle="bold"
    android:typeface="serif"
    android:background="#FFFF0000"
/>

这是带有彩色背景的textview: enter image description here

这是带有可绘制背景的textview: enter image description here

据我了解,在九个补丁的情况下,android make padding透明,并使用drawable仅作为文本的背景。但是我想在填充九层背景的区域中加入填充。

这个问题有什么解决方案吗?

1 个答案:

答案 0 :(得分:26)

尝试以下任何一项:

  1. 通过“android:background”xml属性而不是以编程方式设置背景ninepatch;这与XML定义的填充协作。
  2. 如果需要以编程方式设置背景,请在设置背景后尝试重新设置填充(如果设置填充然后设置背景,我假设在ninepatch中定义的填充本身会覆盖它)。 / LI>
  3. 避免整个问题,只需在ninepatch图像本身设置填充区域(即右侧和底部黑条)。