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);
 
 		}
 	};
 }
**実行
背景色の付いたボタンが表示されます。
#ref(background_button_off.jpg)
クリックすると背景色の色が変わります。
#ref(background_button_on.jpg)

[[android開発のご相談は、こちらまでお問い合わせください。:http://corp.sorich.jp/info/contact.html]]

TOP