Androidでタブ画面の作成

Androidでタブ画面の作成

画面でタブ画面を作成すると用途ごとの切り替えができてみやすくなる

クックパッドとか
楽天証券のiSpeedなどがタブ画面をつかっている

画面でタブを使うには
TabWidgetクラス
FragmentTabHostクラス
を使う

まずは、レイアウトファイル作成

<android.support.v4.app.FragmentTabHost xmlns:android="http://scheams.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:orientation="horizontal"/>

<FrameLayout
android:id="@+id/realtabcontent"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>

</LinearLayout>

</android.support.v4.app.FragmentTabHost>

次に、Javaで
TabWidgetクラス
FragmentTabHostクラスを使い、
画面でタブを使うように
onCreate()へ追記する

mTabHost = (FragmentTabHost)findViewById(android.R.id.tabhost);
mTabhost.setUp(this,  getSupportFragmentManager(), R.id.realtabcontent);

for(String tag:tags){
Bundle bundle = new Bundle();
bundle.putString("value",tag);
mTabhost.addTab(mTabhost.newTabSpec(tag).setIndicator(tag),
TabFragment.class, bundle);
}

これで、タブ追加できる

FragmentTabhostクラスは、
setup()で初期化後、Fragmentをタブコンテンツへ追加できる
そして、setIndicator()でタブのテキストを指定する

コメントを残す

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