【Android】独自のビューを作る

投稿者: | 2011年4月8日

独自のビューを作るには、Viewクラスを継承する。
このとき、Viewクラスにある3種のコンストラクタのうち、必要に応じてどれか一つは実装しなければならない。

  1. public View(Context context)
    コードからビューを作るための単純なコンストラクタである。
  2. public View(Context context, AttributeSet attrs)
    xmlレイアウトファイルに記述してViewを作るためのコンストラクタである。
    xmlに記述したアトリビュートをattrsから取得できる。
  3. public View(Context context,AttributeSet attrs, int defStyle)
    xmlレイアウトファイルに記述してViewを作るためのコンストラクタである。
    APIドキュメントによれば、2.のコンストラクタに加え、デフォルトのスタイルを指定することができる・・・とのことである。
    自分でビューを作る場合は特に使いどころは無いと思う。この3つめのコンストラクタの使いどころは、正直今は良く分からない。

次に、独自ビューのサンプルコードを示す。

package com.lesson.originalview;

// インポートは省略

class MyView extends View{
	public MyView(Context context) {
		super(context);
	}

	public MyView(Context context, AttributeSet attrs) {
		super(context, attrs);
	}

	// 必要に応じてonDraw()やonTouchEvent()などのメソッドをオーバーライドする
}

Activityに直接を追加するには、以下のようにする。

setContentView(new MyView());

レイアウトxmlで定義する場合は以下のようにする。

	<com.lesson.originalview.MyView
		android:id="@+id/myView"
		android:layout_width="wrap_content"
		android:layout_height="fill_parent" />

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です