1

ImageButtonの背景が、自分のリソースの1つとは異なるドローアブルで描画されているという問題があります。背景を透明に設定していますが、場合によっては、bottom_shadow.9.pngという名前のドローアブルの1つを取得しています。なぜ!?変だなぁ…

私は以前にこの問題を見たことがあります...私のアプリユーザーの何人かはこの問題を見て不平を言っていました、そして今私はこれを理解することを決心しています!私が現在持っているものの下を見てください。ヒントやアイデアがあれば役立ちます。

values /colors.xmlの下に作成した色の値:

<color name="transparent">#00000000</color>

layout/の下の1つのxmlレイアウトの下にあるMyImageButton:

<ImageButton
    android:id="@+id/ibHelp"
    android:layout_width="wrap_content"
    android:layout_height="@dimen/settings_list_item_height"
    android:background="@color/transparent"
    android:contentDescription="@string/content_desc_more_information"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:scaleType="centerInside"
    android:src="@drawable/btn_help" />

これは、生成されたR.javaファイルに表示されているものです。

public static final class drawable {
  public static final int bottom_shadow=0x7f020000;
}

public static final class color {
  public static final int transparent=0x7f080009;
}

これはどのように見えるべきかです:

ここに画像の説明を入力してください

これは私が見ているものです:

ここに画像の説明を入力してください

4

5 に答える 5

2

別のプロジェクトで私と同じ問題に直面していると思います。背景に透明色#00000000を使用する場合、Androidは実際には透明にしませんが、代わりにそのすぐ下の要素の背景描画可能を使用します。

今言ったことは明確ではありませんが、これが正しいかどうかを確認するために、すばやく簡単な解決策を見つけました:背景を透明にするために#00000000を使用しないでください。ただし、他の完全に透明な色:#00FF0000または#00F00000を使用する必要があります。やれ。

Googleトラッカーで発生した問題を参照してください:http ://code.google.com/p/android/issues/detail?id = 24653

于 2012-02-02T12:37:08.240 に答える
2

この問題に関連している可能性がありますか?

http://code.google.com/p/android/issues/detail?id=20283

于 2012-02-08T22:41:05.770 に答える
1

Android.R.colorに組み込まれているのに、なぜ独自の色を作成するのですか?私は使用してみます:

android:background="@android:color/transparent"

問題が解決するかどうかに関係なく、よりシンプルでクリーンです。

于 2012-02-08T22:54:30.060 に答える
0

ボタンの背景をある種の色にしたいのですが、(レイアウトxmlで)ボタンのsrcと色の両方を割り当てました。つまり、ボタンはsrc画像を背景として使用する可能性があります。純粋な色。私が主張したかどうかはわかりません。

于 2012-01-25T15:06:12.060 に答える
0

これに加えて、背景セレクターで次のように項目を指定していたため、透明なImageButton背景に非常に奇妙な定期的な表示の破損が見られました。

<item android:drawable="@android:color/transparent" android:state_focused="false" android:state_pressed="false" android:state_selected="true"/>

これはときどき機能するように見えるかもしれませんが、ImageButtonが素敵な透明な背景ではなく、ひどく真っ白な背景でレンダリングされる場合が確かにありました。

android:drawable構文とカラーリソースを混同していたことに注意してください。カラーリソースを指定する正しい方法は、android:color = "#FF00FF"属性か、要素を使用するアイテムの子要素のいずれかであるようです。私は長く懸命に検索し、最終的にこの投稿を見つけました。

于 2012-04-23T06:16:40.353 に答える