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

Ale*_*nok 9 android textview nine-patch

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

这是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"
/>
Run Code Online (Sandbox Code Playgroud)

这是带有彩色背景的textview: 在此输入图像描述

这是带有drawable背景的textview: 在此输入图像描述

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

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

Yon*_*lan 26

尝试以下任何一个:

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

  • 我最好说3 (3认同)