首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在android上应用9补丁png

在android上应用9补丁png
EN

Stack Overflow用户
提问于 2013-10-15 20:59:10
回答 3查看 2.9K关注 0票数 0

我使用9补丁图像来创建按钮的选择器,这些按钮可以在不同的屏幕大小下拉伸。因此,我基本上在选择器中传递文件的名称(没有.9.png),如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?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/img_common_white_button_bg_pressed" />
    <item android:drawable="@drawable/img_common_white_button_bg_default" />

</selector>

我觉得这应该没问题。xml的图形布局屏幕没有显示按钮有任何问题,但是当我在设备中运行应用程序时,我得到的是:

所以我不确定我是以错误的方式应用图像,还是9补丁文件的问题?如果有人能用这个启发我,我会非常感激的。谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-15 21:08:33

请考虑下面提到的有关9补丁图像的事情:

->.9.png图像在图像周围有黑色边框,表明它是修补程序。

->在具有.9.png的可绘图文件夹映像中被识别为9修补程序映像,因此必须将9修补程序映像作为扩展

在您的例子中,您从图像名中删除了.9,因此它将是正常绘制的,在图像周围有黑色边框。

你有两个选择。从按钮中删除补丁,为所有android可绘制大小重新创建它。或者保持9个补丁图像与它的扩展.9.png在绘图文件夹。

票数 1
EN

Stack Overflow用户

发布于 2014-01-24 04:01:46

请检查是否将.9.png复制到所有解析文件夹中,例如drawable hdpi drawable xhpdi drawable xxhdpi。

听起来,如果运行设备dpi与分辨率文件夹不一样,那么Android甚至会扩展边界区域(静态区域)。例如,如果您只将.9.png复制到可绘制文件夹中,则如果在dpi为3的设备上运行,则边框将被拉伸3倍宽。

票数 1
EN

Stack Overflow用户

发布于 2013-10-15 21:04:33

将您的图像重命名为img_common_white_button_bg_default.9.png

img_common_white_button_bg_pressed.9.png。

注意:普通PNG文件(.png)将被加载,在图像周围添加一个空的一个像素边框,您可以在其中绘制可伸缩的补丁和内容区域。先前保存的9修补程序文件(.9.png)将按原样加载,没有添加绘图区域,因为它已经存在。

阅读官方文档:画9片

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19395561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文