最終更新:
moonlight_aska 2011年05月15日(日) 19:07:24履歴
ボタンに画像を貼り付けるには, イメージボタン(ImageButton)クラスを使用する.
イメージボタンを作成する方法は2通りある.
静的に決定しているものはXMLで定義して, 動的に決定するものはコードで定義するというのが一般的である.

イメージボタンを作成する方法は2通りある.
静的に決定しているものはXMLで定義して, 動的に決定するものはコードで定義するというのが一般的である.

- res/drawable-Xdpi/画像ファイル
- res/drawable-Xdpiディレクトリに, ボタンに貼り付ける画像を置く.
- Androidがサポートしている画像フォーマットは, 以下の4つである.
- Bitmap(.bmp)
- JPEG(.jpg)
- PNG(.png)
- GIF(.gif)
- res/layout/main.xml
- "@+id/imgbtn_id"でプログラムからアクセスするIDを定義する.
- ボタンを画像の大きさで配置するよう"wrap_content"を指定する.
- "@drawable/androidrobot"で表示する画像を指定する.
<?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"
>
<ImageButton android:id="@+id/imgbtn_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/androidrobot"
/>
</LinearLayout>
Activity#onCreateメソッドをオーバーライドして, イメージボタンを定義するコードを記述する.
- ImageButtonクラスとLinearLayoutクラスをインポートする.
- イメージボタンを生成する.
- ImageButton.setImageResourceメソッドを使って, ボタンに貼り付ける画像をセットする. 画像ファイル(androidrobot.png)は, res/drawableディレクトリに置いておく. (上記の"XMLにより定義する"を参照)
- ボタンを配置するレイアウトを生成し, ボタンをレイアウトに追加する. このとき, ボタンをどれくらいの大きさで配置するかを指定する.
- setContentViewメソッドに, UIツリーのルートノードを表すウィジェットとしてレイアウトを渡して, アクティビティに関連付ける.
package com.moonlight_aska.android.imagebutton01;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ImageButton;
import android.widget.LinearLayout;
public class ImageButton01 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// ボタンを生成
ImageButton imgbtn = new ImageButton(this);
imgbtn.setImageResource(R.drawable.androidrobot);
// レイアウトにボタンを追加
LinearLayout layout = new LinearLayout(this);
layout.addView(imgbtn, new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
setContentView(layout);
}
}
コメントをかく