web-dev-qa-db-ja.com

透明なImageButtonの作り方:Android

<ImageButton Android:id="@+id/previous"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:src="@drawable/media_skip_backward"
Android:background="@drawable/transparent"></ImageButton>

これは私がSurfaceViewにそれらのボタンを配置するために透明なImageButtonを取得しようとしたものです。しかしEclipseは、私がxmlに透明な行を含めるとすぐにプロジェクトにエラーを出します。

助けてください。

458
Namratha

背景にnullを使用してみてください。

Android:background="@null"
932

TRANSAPENTを使用しないOR NULL LAYOUT クリックしてもボタン(または一般ビュー)が強調表示されなくなる

私は同じ問題を抱えていて、そして最後に 私はAndroid APIから正しい属性を見つけました 問題を解決するために。どのビューにも適用できます。

ボタンの仕様にこれを使用します。

Android:background="?android:selectableItemBackground"
270
lory105

透明色を使うこともできます。

Android:background="@Android:color/transparent"
134
Geykel

背景を"@null"に設定すると、ボタンをクリックしても効果がなくなります。これはより良い選択になります。

style="?android:attr/borderlessButtonStyle"

後で私はそれを使用していることがわかりました

Android:background="?android:attr/selectableItemBackground"

また良い解決策です。そして、あなたはあなた自身のスタイルでこの属性を継承することができます。

108
Eliko

実行時には、次のコードを使用できます。

btn.setBackgroundDrawable(null);
14
Adem

私は、受け入れられた答えはAndroid:background="?attr/selectableItemBackground"であるべきだと思います。

これは@ lory105の答えと同じですが、最大限の互換性を保つためにサポートライブラリを使用しています(同等のAndroid:はAPI> = 11でのみ利用可能です)

11
Sam Stern

この行を削除してください。

Android:background="@drawable/transparent">

そしてあなたの活動クラスセットで

ImageButton btn = (ImageButton)findViewById(R.id.previous);
btn.setAlpha(100);

アルファレベル0を255に設定できます

oは透明、255は不透明を意味します。

7
Nishant Shah

最もよい方法は透明なカラーコードを使うことです

Android:background="#00000000"

透明なものを作るためにカラーコード#00000000を使う

5
Ajay Venugopal

XMLでImageButtonの背景を@nullに設定する

<ImageButton Android:id="@+id/previous"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:src="@drawable/media_skip_backward"
Android:background="@null"></ImageButton>
1
Murtuza Khan

"@null" を使用してください。それは私のために働きました。

<ImageButton
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    app:srcCompat="@drawable/bkash"
    Android:id="@+id/bid1"
    Android:layout_alignParentTop="true"
    Android:layout_alignParentLeft="true"
    Android:layout_alignParentStart="true"
    Android:background="@null" />
1
abir99

Android:background="@Android:color/transparent"です

<ImageButton
    Android:id="@+id/imageButton"
    Android:src="@Android:drawable/ic_menu_delete"
    Android:background="@Android:color/transparent"
/>
1

ImageView...を使います。デフォルトでは透明な背景を持っています...

1

私はすでに背景に何かを追加していたので、このことは私のために働いた:

   Android:backgroundTint="@Android:color/transparent"

(Android Studio 3.4.1)

1
Arsam

これはプログラム的に背景色を透明に設定します。

 ImageButton btn=(ImageButton)findViewById(R.id.ImageButton01);
 btn.setBackgroundColor(Color.TRANSPARENT);
0
Xar E Ahmer

プログラム的に 次のようにして実行できます。

image_button.setAlpha(0f) // to make it full transparent
image_button.setAlpha(0.5f) // to make it half transparent
image_button.setAlpha(0.6f) // to make it (40%) transparent
image_button.setAlpha(1f) // to make it opaque
0
Muhammed Refaat

XMLのBackground属性を任意の色のWhite(#FFFFFF) shadeまたはBlack(#000000) shade.ifに設定して、透明度がほしい場合は実際のハッシュコードの前に80を付けてください。

#80000000   
0

これを使って:

<ImageButton
 Android:id="@+id/back"
 Android:layout_width="wrap_content"
 Android:layout_height="wrap_content"
 Android:background="@null"
 Android:padding="10dp"
 Android:src="@drawable/backbtn" />
0
Akshay Paliwal