素人のアンドロイドアプリ開発日記

タブを下にコンテンツを上に表示したい

2011.04.08

前回のソースを利用します。

まず、構成を確認します。

※見易さの為、属性値は割愛しております。

<?xml version="1.0" encoding="utf-8"?>
<TabHost>
 <LinearLayout>
 <TabWidget/>
 <FrameLayout/>
 </LinearLayout>
</TabHost>

これで、表示されているのって、LinearLayoutで、

TabWidget:タブのエリア
FrameLayout:表示コンテンツエリア

と思ったので

<?xml version="1.0" encoding="utf-8"?>
<TabHost>
 <LinearLayout>
 <FrameLayout/>
 <TabWidget/>
 </LinearLayout>
</TabHost>

とTabWidgetとFrameLayoutを入れ替えてみました。

そうすると、エラーは出なかったのですが、タブも出なかったです。

ここで、おそらくFrameLayoutがandroid:layout_height=”fill_parent”の問題だと思って、android:layout_height=”wrap_content”に変更をすると、

tab

となります。

テキストや表示エリアがつっぱり棒みたいな役割をして欲しいのでandroid:layout_weight=”1″をFrameLayoutに使用をします。

tab

tabエリアが下で表示がされました。

今回しようしたxmlは以下になります。

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@android:id/tabhost"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 <LinearLayout
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 <FrameLayout
 android:id="@android:id/tabcontent"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:layout_weight="1"/>
 <TabWidget
 android:id="@android:id/tabs"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content" />
 </LinearLayout>
</TabHost>

同じカテゴリの記事を紹介します

タブのデザインを変更する。tabを利用してのActivityを表示する。tabを利用してのviewを作成する。Toastを表示してみる。ProgressDialogを使ってみる。ダイアログで時刻の入力画面ダイアログでカレンダーで日付入力ダイアログでリストを出現させる。ダイアログを出してボタンで選択をする。アプリのメニューを作成する。Spiner(コンポーネント)を使う。EditTextの文字制限/ヒントとかについてオートコンプリート機能をTextに付加する。EditTextクラスを使用する。レイティングバー(コンポーネント)を使うシークバー(コンポーネント)を使うチェックボックス(コンポーネント)を使うラジオボタン(コンポーネント)を使うトグルボタン(コンポーネント)を使うTextViewクラスで文字列を作成する。

カテゴリー:コンポーネント

公開中のアプリ、是非ダウンロードしてみてください

2chまとめのたね

RSSを利用してさまざまなブログの情報をキュレーションしてくれるアプリ

インストールする

ひらがな戦記

OPENGL ES2 を利用したカルタのソーシャルゲーム

インストールする