Фон кнопки, скрывающий текст кнопки. Зачем? - PullRequest
0 голосов
/ 20 июня 2011

У меня есть следующий макет:

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

Кнопка с идентификатором button2 (android:id="@+id/button2") показывает точный текст в эмуляторе и на Milestone II.

Однако, когда я помещаю .apk в Motorola Defy, фон изображения кнопки скрывает текст («Да, мы можем!»). Я уверен в этом, потому что, если я не показываю фон (удаляя строку android:background="@drawable/funcoes_1"), текст хорошо отображается на кнопке.

Кто-нибудь знает, почему фоновое изображение кнопки скрывает свой текст на некоторых устройствах (например, Motorola Defy)?

Заранее спасибо!

1 Ответ

0 голосов
/ 21 июня 2011
android:layout_alignRight="@+id/button2"
android:layout_alignLeft="@+id/button2"
android:layout_below="@+id/button2" 

Все они должны быть установлены на «true» или «false». Эти свойства используются для определения в RelativeLayout «относительной» силы тяжести / выравнивания элемента.

Объявление android: id = "@ + button2" достаточно один раз.

Вероятно, происходит то, что устройство, на котором оно не работает, имеет более старую или другую версию Android, которая не допускает этой ошибки.

Надеюсь, это помогло.

...