@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さんが横タブの方法についてちゃんと記載されています。
0 件のコメント:
コメントを投稿