我已经为我的Android按钮创建了我的9补丁图像,并且已经找到了(很难做到的)关于如何在应用程序中使用它们的教程(我使用Android Studio btw),而我还没有能够找到关于如何做到这一点的任何体面的解释。我能找到一个我认为是直接的,但它没有用。所以抓住这个,有人可以链接我,或者只是解释如何使用9补丁文件(正常,聚焦,按下,禁用)?
编辑:要清楚。正如我所说,我已经创建了4个图像(按钮的4种不同状态)。我不知道如何在我的应用程序中使用这些图像作为按钮。我可以采取哪些步骤来使用图像?ACTIVITY.XML
<button
android:style="@drawable/button_default"/>
STYLES.XML
<style name="button_default">
<item name="android:background">@drawable/buttons</item>
</style>
BUTTONS.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"
android:state_enabled="true"/>
<item android:drawable="@drawable/default_focused"
android:state_focused="true"
android:state_enabled="true"/>
<item android:drawable="@drawable/default_normal"
android:state_enabled="true"
android:state_pressed="false"
android:state_focused="false"/>
</selector>
......我的抽签是“drawable-hdpi”。命名为“default_disabled.9.png”,“default_focused.9.png”,“default_normal.9.png”,“default_pressed.9.png”。
我哪里出错?
答案 0 :(得分:2)
这有三个步骤。这是我的一个应用程序中的一个真实示例。
res/drawable/button_red.xml
:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_enabled="true"
android:state_pressed="false"
android:drawable="@drawable/button_red_normal" />
<item
android:state_enabled="true"
android:state_pressed="true"
android:drawable="@drawable/button_red_pressed" />
<item
android:state_enabled="false"
android:drawable="@drawable/button_disabled" />
</selector>
每个drawable(例如@drawable/button_red_normal
)都是9个补丁,每个分辨率都有不同的版本(例如res/drawable-hdpi/button_red_normal.9.png
)
在res/values/styles.xml
:
<style name="button_common">
<item name="android:textColor">#ffffff</item>
<item name="android:layout_margin">3dp</item>
<item name="android:textSize">20sp</item>
<item name="android:textStyle">bold</item>
</style>
<style name="button_red" parent="@style/button_common">
<item name="android:background">@drawable/button_red</item>
</style>
我将其分为父母和子女风格,因为我在应用中有多种颜色的按钮。它们的背景只有它们的不同之处。
最后,将其添加到按钮的XML中:
style="@style/button_red"
答案 1 :(得分:-1)
九路径图像用于修复app中的图像部分。简直就是刮擦问题。
http://romannurik.github.io/AndroidAssetStudio/nine-patches.html
使用此链接生成九个补丁图像。在那里,矩形区域就是那个部分是固定的。剩下的区域正在刮擦。
下载图像时,会得到不同的文件夹图像。请将图像放在android res的相同文件夹中(如hdpi,xhdpi,mdpi)并使用。
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/thumb8" />