Tab表示をする方法は「TabHost、TabWidget」を使う。
@yanzmさんの解説を参照しました。
Tab実装方法は
1、Viewをtab毎に用意する方法
2、ActivityをintentでTabActivityに設定する方法
があるらしいです。
で、とりあえず自分のアプリに組み込んで、それを動かしてみました。
それっぽい!
でも、出来れば横向きにしたとき、Tabを右側に縦表示したい。
ここからが本題で、
このTabWidgetはどうやら縦設定にすることが出来ない。
じゃあどうするのかというと、
Tab表示を諦める!
諦めるというか、TabHostやTabWidgetでの実装ができないので、
似た様なものでTab表示を実装する、という結論になりました。
※ホントは出来たりするのかも?
やり方は、ImageButtonを使う方法にしました。
@t2lowさんのサンプルコードを参考にさせていただきました。
■TabTest.java
public class Tabtest extends Activity implements Runnable, OnClickListener {
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.main);
gridView = (GridView) findViewById(R.id.list);
…中略…
int[] tabs = { R.id.tab1, R.id.tab2, R.id.tab3 };
for (int tab : tabs) {
View v = findViewById(tab);
v.setOnClickListener(this);
}
}
public void onClick(View view) {
switch (view.getId()) {
case R.id.tab1:
hogehoge(); //リストデータ読み込み+表示
break;
case R.id.tab2:
hogehoge(); //リストデータ読み込み+表示
break;
case R.id.tab3:
hogehoge(); //リストデータ読み込み+表示
break;
}
private void hogehoge() {
…中略…
}
}
■layout/main.xml 縦向きの時に表示
■layout-land/main.xml 横向きの時に表示
で、その出力結果がこうなりました。

なんかごちゃごちゃしちゃってあんまりキレイじゃない…
でも、横画面のときのTab表示が縦にするのは解決しました。
【2011/4/4 追記】
@yanzmさんが横タブの方法についてちゃんと記載されています。