0

Android でボタンを押すと、色が変わります。そのままでいてほしい。私はこのようなものが欲しいということです:

Button btn = (Button) findViewById(R.id.button_id);
button.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
             btn.setBackGroundColor(R.drawable.clicked /*clicked style*/ );
         }
     });

例:

ここに画像の説明を入力

これは押されたボタンです。押すのをやめた後もそのままにしておきたいです。そのような簡単な方法はありますか:

android.R.drawable.btn_default //これがデフォルトのボタン スタイルです。押されたボタンが必要です:D

4

5 に答える 5

1

セレクターを使用してみてください:

drawable フォルダに selector.xml を定義する

<?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@drawable/button_pressed_yellow"
              android:state_pressed="true" />
        <item android:drawable="@drawable/button_normal_green" />
    </selector>

android:background="@drawable/selector"ボタンセットのクリックイベントのコードで、ボタンの背景を次に設定しますbtn.setpressed(true);

于 2013-09-20T10:44:42.667 に答える
1

Javaコードに次のように記述button.setPressed(true);します。ボタンを押されたモードに設定します。押された状態と押されていない状態を設定したい場合は、パラメーターをtrueとfalseに変更できます...

于 2013-09-20T10:40:56.150 に答える
1

それで、押されていない状態で開始し、クリックされた後も押されたままになりたいですか?追加する代わりに OnTouchListener を使用してみてくださいbtn.setPressed(true);:

public boolean onTouch(View v, MotionEvent event)
        {
            if (event.getAction() == MotionEvent.ACTION_DOWN)
            {
                btn.setPressed(true);
            }
            return true;
        }
于 2013-09-20T10:41:13.170 に答える
0

StateSelector の画像を見てみましょう

http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

ボタン/ビューのさまざまな状態にさまざまなリソースを設定できます。この例では、異なる色を設定しています:

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">    
    <item android:drawable="@color/branded_content_pressed_color" android:state_enabled="true" android:state_pressed="true"/>
    <item android:drawable="@color/branded_content_pressed_color" android:state_enabled="true" android:state_focused="true"/>
    <item android:drawable="@color/branded_content_background_color"/>
</selector>

その後、通常どおりセレクターを設定できます

button.setBackgroundResource(R.drawable.selector);
于 2013-09-20T10:43:55.863 に答える
0

この方法で、プレス時に画像を暗くするか、色を付けることができます

drawable/selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
     <item android:state_focused="true" android:drawable="@drawable/buttondark"/>
     <item android:state_pressed="true" android:drawable="@drawable/buttondark" />
     <item android:drawable="@drawable/button" /> 
</selector>

作成時のメソッド内書き込み

btn.setBackgroundResource(R.drawable.selector);
于 2013-09-20T10:39:43.403 に答える