アプリに次の画面構造があります。
これは途方もない領域の浪費です。主にシステムバーとアクショントップバーにあります。
私はしたいと思います:
- アプリのロゴとタイトルをシステム領域に移動
- タブの高さを狭くする
- メニューを一番下のアクションバーに移動
このようなものを取得するには:
アプリに次の画面構造があります。
これは途方もない領域の浪費です。主にシステムバーとアクショントップバーにあります。
私はしたいと思います:
このようなものを取得するには:
メインのアクションバーを非表示にすることができました。Android Developer's siteで説明されているように:
組み込みのナビゲーション タブと分割アクション バーを使用しているため、上部のメイン アクション バーを非表示にする場合は、 を呼び出してアクション バー
setDisplayShowHomeEnabled(false)
のアプリケーション アイコンを無効にします。この場合、メイン アクション バーには何も残っていないため、図 3 の 2 番目のデバイスに示されているように、メインのアクション バーが消えて、上部のナビゲーション タブと下部のアクション アイテムだけが残ります。
これは必要ですが、十分ではありません。なぜなら、メイン アクション バーの右側にはまだタイトルとメニュー アイコンが表示されているからです。さらに 2 つの手順が必要です。
アイコンとタイトルを隠す
setDisplayShowTitleEnabled(false);
でメニューを作成しないでくださいonCreateOptionsMenu()
メイン アクション バーが空になり、実際に消えます。タブは引き続き表示されます。メニューは失われますが、画面のどこかにメニューとして機能するボタンを作成できます。同じアイコンを使用することもできます。
タブの高さ
そして、タブの高さを XML スタイルで制御できることがわかりました。これをアプリ スタイル タグ内の styles.xml に追加します。
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
<item name="android:actionBarSize">35dp</item>
</style>
システム バー
システム バーは、その名前が示すように、ユーザーではなくシステム専用のようです。そこの要素を変更できるかどうかの手がかりが見つかりませんでした(サービスからの通知アイコンを除く)
この TabLayout からタイトルと appicon を削除することができます。
androidmanifest.xml でアクティビティに使用します
android:theme="@android:style/Theme.NoTitleBar"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
このパラメーターを使用すると、レイアウトは次のようになります。