Android ImageButtonセレクターの例

Android ImageButtonセレクターの例

last Android tutorialでは、「ImageButton」を使用して、カスタマイズされた背景画像で「Button」を簡単に表示します。 ただし、単純な画像以上のことができます。Androidでは、ボタンがフォーカスされている、ボタンが押されているなど、さまざまな状態に応じてボタンの画像を変更できます。

この例は、このAndroid custom buttonの記事から参照されていますが、わずかな変更が加えられています。

P.S This project is developed in Eclipse 3.7, and tested with Android 2.3.3.

1. リソースに画像を追加する

ボタンの状態に合わせて3つの画像を準備し、「resource/drawable」フォルダーに配置します。

  1. button_normal_green.png –デフォルトの画像ボタン。

  2. button_focused_orange.png –ボタンがフォーカスされているとき、たとえば、電話のキーパッドがこのボタン上で移動(フォーカス)されているときに表示します。

  3. button_pressed_yellow.png –ボタンが押されたときに表示されます。

2. さまざまなボタンの状態にセレクターを追加する

ここで、「res/drawable/」フォルダーに新しいXMLファイルを作成します。任意の名前で、この場合は「new_button.xml」という名前を付けます。 このファイルは、どのボタン状態がどの画像に属するかを定義しました。

これで、このID:@drawable/new_buttonを介してこのボタンを参照できます。

ファイル:res / drawable / new_button.xml


    
    
    

3. 追加ボタン

res/layout/main.xml」ファイルを開き、通常のボタンを追加し、「android:background="@drawable/new_button」を介して上記の「new_button」に背景画像を添付します

ファイル:res / layout / main.xml



    

4. コードコード

単純なクリックリスナーを持つ通常のボタン。

ファイル:MyAndroidAppActivity.java

package com.example.android;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.Toast;
import android.view.View;
import android.view.View.OnClickListener;

public class MyAndroidAppActivity extends Activity {

    Button imageButton;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        addListenerOnButton();

    }

    public void addListenerOnButton() {

        imageButton = (Button) findViewById(R.id.imageButtonSelector);

        imageButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

                Toast.makeText(MyAndroidAppActivity.this,
                    "ImageButton (selector) is clicked!",
                    Toast.LENGTH_SHORT).show();

            }

        });

    }

}

5. Demo

アプリケーションを実行してください。

1. 結果、デフォルトのボタン。 (button_normal_green.png)

normal button

2. ボタンにフォーカスがあります。 (button_focused_orange.png)

button is focused

3. ボタンが押されています。 (button_pressed_yellow.png)

button is pressed

ソースコードをダウンロード

ダウンロード–Android-ImageButton-Selector-Example.zip(23 KB)