【问题标题】:Android - How to implement 9 patch?Android - 如何实现 9 补丁?
【发布时间】:2015-02-23 07:02:15
【问题描述】:

我已经使用 Photoshop 和 Draw9Patch 工具创建了一些 9-patch 图像文件,但是当我尝试实现这些图像时,它看起来像是一个半身像。我正在关注本教程 (http://www.devahead.com/blog/2011/08/creating-a-custom-android-button-with-a-resizable-skin/)。有什么理由这可能行不通吗?我将 4 个图像粘贴到 drawable-hdpi,并创建了一个名为“buttons.xml”的新值 XML,并将代码放在该 XML 文件中:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/default_disabled" android:state_enabled="false"/>
    <item android:drawable="@drawable/default_pressed" android:state_pressed="true"/>
    <item android:drawable="@drawable/default_focused" android:state_focused="true"/>
    <item android:drawable="@drawable/default_normal"/>
</selector>

"default_(state)" 是文件的名称(扩展名为 .9.png)。我试图将按钮的背景设置为android:background="@drawable/buttons"

我哪里做错了?

【问题讨论】:

  • 你能分享一下它的样子吗?
  • 哦,对不起,我以为我提到了我无法让它工作的事实,哈哈。 android:background="@drawable/buttons"code 给了我红色的波浪线......
  • 当我尝试编译和运行模拟器时,我收到一个关于“文件buttons.xml中不支持的类型选择器”的错误
  • 你的buttons.xml在哪里
  • buttons.xml 在“res/values”下

标签: android image button nine-patch


【解决方案1】:

请记住,不同的设备具有不同的分辨率和密度

在您的情况下,您已将这些可绘制对象放在 drawable-hdpi 中,因此您需要具有 HDPI 密度的设备才能工作,否则您可以将这些可绘制对象放入 drawable 文件夹,因此所有设备(即 mdpi、hdpi、xdpi 等)都可以使用这些可绘制对象。

在此处了解多种屏幕分辨率和密度: http://developer.android.com/guide/practices/screens_support.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    相关资源
    最近更新 更多