我正在尝试制作一个自定义按钮,有两个9patch文件,一个用于正常状态,一个用于状态。
首先我尝试使用简单的9patch背景,结果很好:
<Button android:id="@+id/btnTest"
android:layout_height="80dip"
android:layout_width="135dip"
android:text="Test"
android:drawableTop="@drawable/imgsomeimage"
android:background="@drawable/main_button_background">
</Button>
我得到一个带有图像和文字的按钮。
下面的main_button_background的所有内容我使用以下内容创建一个新的xml文件(main_menu_button.xml)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_focused="false"
android:state_selected="false"
android:state_pressed="false"
android:drawable="@drawable/main_button_background" />
<item
android:state_focused="false"
android:state_selected="true"
android:state_pressed="false"
android:drawable="@drawable/main_button_background" />
<!-- Focused states -->
<item
android:state_focused="true"
android:state_selected="false"
android:state_pressed="false"
android:drawable="@drawable/main_button_background_pressed" />
<item
android:state_focused="true"
android:state_selected="true"
android:state_pressed="false"
android:drawable="@drawable/main_button_background_pressed" />
<!-- Pressed -->
<item
android:state_pressed="true"
android:drawable="@drawable/main_button_background_pressed" />
</selector>
按钮变为:
<Button android:id="@+id/btnTest"
android:layout_height="80dip"
android:layout_width="135dip"
android:text="Test"
android:drawableTop="@drawable/imgsomeimage"
android:background="@drawable/main_menu_button">
现在不显示文本,只显示背景和imgsomeimage。 我做错了什么?
答案 0 :(得分:0)
问题解决了。按下的背景图像具有不同的大小。将其调整为正常背景后,一切正常。