自定义按钮缺少文本

时间:2010-09-08 17:36:39

标签: android custom-controls

我正在尝试制作一个自定义按钮,有两个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。 我做错了什么?

1 个答案:

答案 0 :(得分:0)

问题解决了。按下的背景图像具有不同的大小。将其调整为正常背景后,一切正常。