1,TabActivityクラスを継承する方法
2,Activityクラスを継承する方法
TabActivityクラスを継承する方法
まずレイアウトを作成します。レイアウトにはいくつか注意点があります。
1,TabHostのidは「@android:id/tabhost」にする。
2,TabHostにはTabWidgetを配置し、そのidは「@android:id/tabs」にする
3,TabHostにはFrameLayoutを配置し、そのidは「@android:id/tabcontent」にする
4,FrameLayout(tabcontent)はpaddingTopを65px~70pxに設定する。paddingTopを設定しないとタブとタブ内容が重なってしまいます。
res/layout/main1.xml
<?xml version="1.0" encoding="utf-8"?>
<TabHost
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TabWidget>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:paddingTop="65px">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/content1">
<CheckBox
android:text="@+id/CheckBox01"
android:id="@+id/CheckBox01"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CheckBox>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/content2">
<RadioButton
android:text="@+id/RadioButton01"
android:id="@+id/RadioButton01"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</RadioButton>
</LinearLayout>
</FrameLayout>
</TabHost>
MainActivityはTabActivityクラスを継承して作成します。
onCreate()メソッドで、getTabHost()メソッドでTabHostオブジェクトを取得し、Tabを追加します。
MainActivity.java
package my.study.android;
import android.app.TabActivity;
import android.os.Bundle;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;
public class MainActivty extends TabActivity {
private static String[] sTabId = {"Tab1","Tab2"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// TabHostオブジェクト取得
TabHost tabs = getTabHost();
// Tab1 設定
TabSpec tab1 = tabs.newTabSpec(sTabId[0]);
tab1.setIndicator("タブページ1");
tab1.setContent(R.id.content1);
tabs.addTab(tab1);
// Tab2 設定
TabSpec tab2 = tabs.newTabSpec(sTabId[1]);
tab2.setIndicator("タブページ2");
tab2.setContent(R.id.content2);
tabs.addTab(tab2);
// 初期表示設定
tabs.setCurrentTab(0);
}
}
Activityクラスを継承する作成する
まずレイアウトを作成します。「TabActivityクラスを継承する方法」と同じものを使用します。レイアウトの注意点ですが、下記のうち1は必須ではありません。
1,TabHostのidは「@android:id/tabhost」にする。
2,TabHostにはTabWidgetを配置し、そのidは「@android:id/tabs」にする
3,TabHostにはFrameLayoutを配置し、そのidは「@android:id/tabcontent」にする
4,FrameLayout(tabcontent)はpaddingTopを65px~70pxに設定する。paddingTopを設定しないとタブとタブ内容が重なってしまいます。
MainActivityはActivityクラスを継承して作成します。
onCreate()メソッドで、findViewById()メソッドでTabHostオブジェクトを取得します。
Tabを追加する前に、tabhost#setup()メソッドでTabHostを初期化し、Tabを追加します。
MainActivity.java
package my.study.android;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;
public class MainActivty extends Activity {
private static String[] sTabId = {"Tab1","Tab2"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// TabHostオブジェクト取得
//TabHost tabs = getTabHost();
TabHost tabs = (TabHost)findViewById(android.R.id.tabhost);
tabs.setup();
// Tab1 設定
TabSpec tab1 = tabs.newTabSpec(sTabId[0]);
tab1.setIndicator("タブページ1");
tab1.setContent(R.id.content1);
tabs.addTab(tab1);
// Tab2 設定
TabSpec tab2 = tabs.newTabSpec(sTabId[1]);
tab2.setIndicator("タブページ2");
tab2.setContent(R.id.content2);
tabs.addTab(tab2);
// 初期表示設定
tabs.setCurrentTab(0);
}
}
0 件のコメント:
コメントを投稿