0

ユーザーがボタンを押したときにボタンの上に青色を追加するには、いくつかの問題があります。このボタンの背景にドローアブルがない場合は機能しますが、私の場合、カスタム背景を追加する必要があり、ユーザーがボタンをクリックしたときに青色が必要です。これが私のコードです

<Button
    android:id="@+id/create_profile"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/info_account"
    android:layout_centerHorizontal="true"
    android:background="@drawable/btn_create_profile" />
4

2 に答える 2

1

青い色は、プラットフォームがあなたのために描くものではありません. 標準ボタンには、ビューの一連の画像を含む、背景として描画可能なセレクターがあります。たとえば、ボタンの場合、標準のボタン画像、押されたボタン画像 (上に青いオーバーレイが表示されている)、無効 (半分透明) などです。ボタンは現在の状態を認識し、適切な画像を表示します。

したがって、あなたがしたいことは、押されたボタンを自分で描画し、次のようなセレクター ドローアブルを作成することです。

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item  android:state_pressed="true" android:drawable="@drawable/your_pressed_button/>
    <item  android:drawable="@drawable/your_normal_button/>

</selector>

Drawable Resourcesについて読む価値があると思います。生成されたボタンの状態の例もここで見つけることができます。

于 2013-05-14T12:53:10.210 に答える
0

カスタム drawable を作成する必要があります:

これを行うには、drawable フォルダーに xml ファイルを作成し、次のように記述するだけです。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >

  <item  android:state_pressed="false"
       android:drawable="@drawable/ic_back" />

  <item android:state_pressed="true"
      android:drawable="@drawable/ic_back_pressed" />

  <item android:state_focused="true"
      android:drawable="@drawable/ic_back_pressed" />

</selector>

ボタンの背景にこのドローアブルを設定します。

ここで、通常状態の背景 ID は ic_back で、押された状態でフォーカス状態の背景は ic_back_pressed です。

単色の描画可能な形状を作成する場合 (たとえば、単色の背景を描画可能なものにしたい場合は、ここに移動できます..)

于 2013-05-14T12:56:08.290 に答える