Java/Android/応用編/ボタンの背景色設定

Top > Java > Android > 応用編 > ボタンの背景色設定

android応用編?

グボタンの背景色設定

ボタンの背景色を設定します。また、クリック時に色を変更する設定をします。

color.xml

使用する色の種類を定義します。

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <color name="button_off_color">#ff00ff</color>
   <color name="button_on_color">#ff9999ff</color>
</resources>

color_state.xml

クリック前、クリック後のそれぞれのボタンの色の状態を定義します。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true">
    	<color android:color="@color/button_off_color"></color>
    </item>
    <item android:state_pressed="false">
    	<color android:color="@color/button_on_color"></color>
    </item>
</selector>

main.xml

ボタンを定義します。
"android:background" で背景色の定義ファイルを紐づけます。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    
	<Button android:id="@+id/button_backgroundcolor"
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:text="@string/button_label"
	    android:background="@drawable/color_state"
	    />
	    
</LinearLayout>

ButtonBackgroundColorActivity?.java

ボタンの動作を定義します。

package com.android.koichi;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;


public class ButtonBackgroundColorActivity extends Activity {
    /** Called when the activity is first created. */

	// ボタン
	Button background_button;

	@Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // 各リソース取得
        this.background_button = (Button)findViewById(R.id.button_backgroundcolor);

        //ボタンクリック時の動作を定義
        this.background_button.setOnClickListener(iconOnClickListener);
    }

	// ボタンクリック時のイベント
	private Button.OnClickListener iconOnClickListener = new Button.OnClickListener() {

		public void onClick(View v) {

			// String resourceより取得
			CharSequence url = "http://www.sorich.jp";
			// Activityを終了させる
			Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url.toString()));
			startActivity(intent);

		}
	};
}

実行

背景色の付いたボタンが表示されます。

background_button_off.jpg

クリックすると背景色の色が変わります。

background_button_on.jpg

android開発のご相談は、こちらまでお問い合わせください。

最終更新日: 2010-09-15 (水) 17:08:46 (2448d)

添付ファイル: filebackground_button_on.jpg 1204件 [詳細] filebackground_button_off.jpg 1532件 [詳細]

このページをブックマーク:

このページのURL(コピペして利用下さい):

TOP