【问题标题】:9-Patch in Selector shows black dots选择器中的 9-Patch 显示黑点
【发布时间】:2012-09-13 22:59:12
【问题描述】:

我想在按下布局时更改其背景。布局并不总是相同的形状,所以我创建了一个 9-patch 图像来保持图像居中。我的图像如下所示:

那么我的选择器 xml 看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
 <item 
     android:state_pressed="true" 
     android:drawable="@drawable/my_selector" 
     />
 <item>
     <shape android:shape="rectangle">
         <solid android:color="#00ffffff" />
     </shape>
 </item>
</selector>

当我有这个代码并且我的图像不是一个 9-patch 时,它会被拉伸以填充。即使我将图像更改为 9-patch,它仍然将图像视为普通的 .png 文件。甚至角落里的黑点和所有东西。

我想知道为什么图像的 9-patch-ness 没有得到尊重,而只是被视为常规 .png 文件。

【问题讨论】:

  • 你的 9-patch png 文件格式是否为:image.9.png?
  • 你能上传实际的 .9.png 文件吗?
  • 我上面的图片是实际图片...有没有更好/不同的上传方式?如果您愿意,我可以将图像托管在其他名称和所有位置。
  • 我刚刚注意到 SO 更改了文件名,但是是的,我的 src 中的文件名以 .9.png 结尾

标签: android android-xml nine-patch android-selector


【解决方案1】:

我认为问题在于您在图像的底部和右侧使用了两个点。我不确定他们的系统是否知道如何处理这两个维度上的不相交区域。本质上,您是在说此图像的“内容”部分由四个单像素区域组成,它们是右侧和底部边框上的四个点的交集。

如果你把它去掉,我认为它应该对你来说更可预测。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-12
  • 2021-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-08
相关资源
最近更新 更多