この例は水平番号ピッカーウィジェット用ですが、同じ概念です。
まず、カスタムコンポーネントのXMLレイアウトを作成します
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<Button
android:id="@+id/btn_minus"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text="-" />
<EditText
android:id="@+id/edit_text"
android:layout_width="75dp"
android:layout_height="wrap_content"
android:inputType="number"
android:gravity="center"
android:focusable="false"
android:text="0" />
<Button
android:id="@+id/btn_plus"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text="+" />
</LinearLayout>
次に、Javaクラスを作成します
public class HorizontalNumberPicker extends LinearLayout {
public HorizontalNumberPicker(Context context, AttributeSet attrs) {
super(context, attrs);
LayoutInflater inflater = LayoutInflater.from(context);
inflater.inflate(R.layout.horizontal_number_picker, this);
}
}
そのJavaクラスに必要なロジックを追加すると、次のようにカスタムコンポーネントをXMLレイアウトに含めることができます。
<com.example.HorizontalNumberPicker
android:id ="@+id/horizontal_number_picker"
android:layout_width ="wrap_content"
android:layout_height ="wrap_content" />
詳細については、次のリンクを確認してください:http ://developer.android.com/guide/topics/ui/custom-components.html#compound