按钮背景隐藏按钮文本。为什么?

时间:2011-06-20 18:10:02

标签: android button android-layout background background-image

我有以下布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/widget30"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"

    android:background="@drawable/v_fundo"
>
<ImageView 
    android:id="@+id/imageView1" 
    android:layout_height="wrap_content" 
    android:src="@drawable/v_titulo" 
    android:layout_width="wrap_content" 
    android:layout_alignParentLeft="true">
</ImageView>
<RelativeLayout android:layout_height="wrap_content" android:id="@+id/relativeLayout2" android:layout_width="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true">
        <ImageView android:id="@+id/widget32" android:layout_height="wrap_content" android:layout_width="wrap_content" android:background="@drawable/v_personagem">        </ImageView>
        <Button android:layout_height="wrap_content" android:background="@drawable/v_balao" android:layout_width="wrap_content" android:id="@+id/lastComicButton"></Button>
    </RelativeLayout>
    <ImageView android:src="@drawable/v_transparente" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/imageView2" android:layout_alignParentBottom="true"></ImageView>
    <RelativeLayout android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/relativeLayout1" android:background="@drawable/funcoes_fundo" android:layout_above="@+id/imageView2" android:layout_alignLeft="@+id/imageView2" android:layout_alignRight="@+id/imageView2">
        <Button android:layout_height="wrap_content" 
            android:layout_alignParentTop="true" 
            android:layout_width="wrap_content" 
            android:id="@+id/button2" 
            android:text="Yes, we can!"
            android:background="@drawable/funcoes_1">
        </Button>
        <Button android:layout_height="65dp" 
            android:layout_alignRight="@+id/button2" 
            android:layout_alignLeft="@+id/button2" 
            android:layout_width="250dp" 
            android:id="@+id/button1" 
            android:layout_below="@+id/button2" 
            android:background="@drawable/funcoes_2">
        </Button>
    </RelativeLayout>

ID为button2android:id="@+id/button2")的按钮会在模拟器和里程碑II中显示正常的文字。

但是,当我将.apk放入Motorola Defy时,按钮的图像背景会隐藏其文本(“是的,我们可以!”)。我确信这是因为如果我没有显示背景(通过删除行android:background="@drawable/funcoes_1"),文本在按钮中显示正常。

有没有人知道为什么Button的背景图片会在某些设备中隐藏文字(比如摩托罗拉Defy)?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

android:layout_alignRight="@+id/button2"
android:layout_alignLeft="@+id/button2"
android:layout_below="@+id/button2" 

这些都应设置为“true”或“false”。这些属性用于在RelativeLayout中确定成员的“相对”重力/对齐。

一次声明android:id =“@ + button2”就足够了。

可能发生的情况是它无法使用的设备有较旧或不同版本的Android,无法容忍此错误。

希望这会有所帮助。