2010-09-08 118 views
0

我想制作一个自定义按钮,有两个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> 

我得到一个按钮,一个图像和文本娄它。与下面

我创建一个新的XML文件(main_menu_button.xml)的main_button_background一切与以下内容

<?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"> 

现在文本ISN不显示,只有背景和imgsomeimage。 我在做什么错?

回答

0

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

+0

我的9个补丁都是相同的尺寸,当我设置选中(并调用其他状态)时,我的文本消失:(。 – 2012-12-14 05:29:48