1

メインの LinearLayout に単純なグラデーションの背景を適用しようとしています。私の問題は、バックグラウンドがバックグラウンドにとどまることを拒否し、代わりにビュー (この場合は TextViews と Buttons) もカバーすることを決定することです。私は何を間違っていますか/行方不明ですか?ご協力いただきありがとうございます!

メインレイアウト:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mainLinearLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bg_gradient"
android:orientation="vertical" 
>

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Select the PC to communicate with..." />

<TextView
    android:id="@+id/textViewStatus"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Status" />

<RadioGroup
    android:id="@+id/radioGroupDevices"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

</RadioGroup>  

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/btnBack"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="&lt;&lt;" />

    <Button
        android:id="@+id/btnVolDown"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="-" />

    <Button
        android:id="@+id/btnPlayPause"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="|>" />

    <Button
        android:id="@+id/btnVolUp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="+" />

    <Button
        android:id="@+id/btnNext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=">>" />

   </LinearLayout>

</LinearLayout>

drawable/bg_gradient.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient android:angle="270" android:endColor="#181818" android:startColor="#616161"/>

    <stroke android:width="1dp" android:color="#343434" />
</shape>

結果 (Eclipse xml エディターからのスクリーンショットですが、実際の電話では同じように見えます) http://s14.directupload.net/images/130415/q8q6hcmn.png

ご覧のとおり、テキスト行とボタンは背景によって少なくとも部分的に覆われているように見えます。また、通常の黒の背景を使用しようとしましたが、同じ結果になりました。すべてのビューは、黒いもやの背後にある「霧」のように見えます。

4

2 に答える 2

1

あなたはAndroidバージョン3以降のために開発しているようです...そのため、このバージョンと上記のバージョンでは、コントロールの背景が透明になっているように見えるようにテーマが設定されています...

コントロール(ボタン、テキストビュー)の背景をいくつかのハッシュカラー値に変更してみてください

例えば:-android:background="#ffaaff"

コードを変更する必要はありません...そのまま試してみてください...

ボタンの場合、これをコードに入れて透明にします...

v.setBackgroundColor(0x0000FF00 );

これがうまくいくことを願っています

于 2013-04-15T21:15:48.473 に答える
0

ボタンがグラデーションによって汚染されているとは思いません。最上部のテキストについては、デフォルトで TextView の背景が透明であるため、コンテナの背景が透けて見えるのは正常です。

于 2013-04-15T20:44:25.947 に答える