我有一组四个9patch图像我想用于一个按钮(ldpi到xhdpi)。它通常出现在eclipse中的UI设计器上,但在模拟器和我的Android设备上,它将图像拉伸为好像不是9patch。
图片(我最多只发布两个链接,抱歉):
LDPI http://i.stack.imgur.com/c2D6s.png
MDPI http://i.stack.imgur.com/G7ZzG.png
hdpi(已达到链接限制,抱歉)
xhdpi(已达到链接限制,抱歉)
这是按钮XML:
<Button
android:id="@+id/button1"
style="@style/loginstyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/imageView2"
android:layout_alignLeft="@+id/imageView1"
android:layout_alignRight="@+id/imageView1"
android:layout_marginBottom="97dp"
android:onClick="onLogin"
android:padding="0dp"
android:paddingBottom="0dp"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:paddingTop="0dp"
android:text="Login"
android:textColor="#fff" />
这是我的样式代码:
<style name="loginstyle">
<item name="android:background">@drawable/loginbuttondr</item>
</style>
这是我的drawable xml(loginbuttondr.xml):
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false" android:drawable="@drawable/loginbutton"/>
</selector>
图像集名为loginbutton.9.png
解决方案:感谢@MoshEsran。问题是我没有在图像中添加填充指南(右侧和底侧)。
答案 0 :(得分:1)
问题可能是你的补丁线颜色不是纯黑色。
您必须使用#000000,但是,目前您正在使用#101a05
答案 1 :(得分:0)
9Patch图像旨在可伸缩。这是他们的功能。 如果按钮看起来不像你想要的那样,则可能是;
a)您的按钮布局XML对于您想要实现的目标是不正确的(将其添加到您的问题中以便我们查看)。
或
b)您没有以适合您设备的分辨率提供9Patch图像。