3

境界線なしで ImageButton を作成する方法 (画像だけが表示されるはずです)? を設定することでこれを実現できますが、これによりimageButton.setBackgroundDrawable(null)フォーカスと選択の色も削除されます。

目標は、最初は境界線のない画像のみが表示されるようにすることです。ただし、ユーザーが画像にフォーカス/タッチ/クリックすると、通常のボタンのように画像を強調表示することでこれを示す必要があります。

API 14 の Java コードでのソリューションが推奨されます。ありがとうございました!

4

7 に答える 7

7

BorderlessButtonStyleを ImageButton に使用する

 <ImageButton
        style="?android:borderlessButtonStyle"
        android:layout_width="58dp"
        android:layout_height="wrap_content"
        android:contentDescription="Delete"
        android:src="@android:drawable/ic_delete" />

参照 : Google I/O 2013 - UI 開発者のための Android デザイン

于 2013-06-20T05:39:49.957 に答える
3

あなたの答えは、Google I/O 2013 での Nick Butcher と Roman Nurik のトークで、UI 開発者向けの Android デザインについて説明されています。

分: 31:40:

https://www.youtube.com/watch?v=Jl3-lzlzOJI#t=31m40s

このアプローチの唯一の問題はstyle="?android:borderlessButtonStyle"、API 11 以降で使用できることです。そのため、11 より前の API で同じ動作が必要な場合は、セレクターを使用する必要があります。

ちなみに、とても面白いので全話見ることを強くお勧めします。

于 2013-06-18T10:39:28.547 に答える
0

追加する必要があります

imageButton.setClickable(true);
imageButton.setFocusable(true);

そして、それは動作します...

それがあなたのxmlファイルの方法です:

android:clickable="true"
android:focusable="true"

この助けを願っています

于 2013-06-10T15:35:44.960 に答える
0

このSO投稿の選択された回答に示されているように、クリックされた/クリックされていない状態のさまざまな画像を設計し、 onTouchListener に設定できます。

次に、ポストロングクリックまたはクリックで画像を前の画像に戻すことができます。

于 2013-06-20T17:13:32.640 に答える