7

(今、私は StackOverflow に関する関連する質問に出くわしましたが、残念ながら解決策はどれもうまくいきませんでした。そのため、これを個別に質問する必要がありました)

私はAndroidの初心者です。問題: ボタンとして機能する画像が必要です。これは、標準のボタンに画像を使用するか、「ImageButton」と呼ばれるものを使用することで実現できることがわかりました(理由はわかりませんが、強くお勧めします)。

要件: この問題に取り組むための詳細なガイダンスが必要です。具体的には、2 つの大きな問題に直面するまでは、「標準ボタンに画像を配置する」方が簡単だと思っていました。アクティビティ画面の背景色に合わせて背景色を変更すると、ボタン効果が消えました。簡単に言えば、画像をボタンとして機能させる、またはフォーカス、押された状態、デフォルトの 3 つの効果すべてを持つ画像を含むボタンとして機能させる、適度に簡単な方法が必要です。ImageButton を使用しましたが、カスタム シェイプまたは 9 パッチ イメージを作成して目的の効果をすべて与える方法がわかりませんでした。Android が提供するデフォルトのボタンにかなり満足しています。

誰かがこれで私を助けてくれますか? UI がまともに見えるようにする必要があるため、画像/ボタンに対応する効果が必要です。前もって感謝します :)

これは私のアイコン画像です: ここに画像の説明を入力

通常のボタンと同じように画像が押されたことを示す、何らかのホバー効果をこの周りに付けたいと考えています。

4

3 に答える 3

19

StateList Drawableを使用ImageButtonします。さまざまなボタンの状態のセレクターが必要です。さまざまな状態にさまざまなドローアブルを割り当てて、通常のボタンでまたは効果を模倣できます。onFocus onPressed

これは以下selector.xmldrawableフォルダにありますres

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" 
      android:drawable="@color/cyan"/> <!-- pressed state -->
<item android:state_focused="true" 
      android:drawable="@color/cyan"/> <!-- focused state -->
<item android:drawable="@android:color/transparent"/> <!-- default state -->

</selector>

そして、これは以下color.xmlvaluesフォルダーにありますres

<?xml version="1.0" encoding="utf-8"?>
<resources>
        <color name="cyan">#33B5E5</color>
</resources>

をイメージに設定し、をに設定しImageButtonます。srcbackgroundselector.xml

これが最終結果です。

前 後

ここに良いチュートリアルがあります: Android ImageButton Selector Example

于 2013-06-17T10:49:45.167 に答える