7

Gmail で使用されていたようなアプリ レイアウトが必要です。アイコン付きのアクションバーがあります(私のデバイスでは、上へのナビゲーション用のアプリロゴと、優先受信トレイ/受信トレイ/などを選択するためのカスタムビューがあります)がActionBar、下部にいくつかのアイコンがあるため、ある種の分割もあります(作成、検索、ラベルなど)。

どうすればこれを行うことができますか? ActionBarこの XML を使用して以下を実装しました。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/menu_gps"
        android:icon="@drawable/icone_gps_continu"
        android:showAsAction="always"
        android:title="@string/menu_gps"/>
    <item
        android:id="@+id/menu_sort"
        android:icon="@drawable/icone_liste_chron"
        android:showAsAction="always"
        android:title="@string/menu_liste"/>
    <item
        android:id="@+id/menu_stats"
        android:icon="@drawable/icone_statistiques"
        android:showAsAction="always"
        android:title="@string/menu_stats"/>
    <item
        android:id="@+id/menu_save"
        android:icon="@drawable/icone_terminersortie"
        android:showAsAction="always"
        android:title="@string/menu_save"/>
    <item
        android:id="@+id/menu_search"
        android:icon="@drawable/ic_launcher"
        android:showAsAction="always"
        android:title="@string/menu_search"/>
    <item
        android:id="@+id/menu_photo"
        android:icon="@drawable/icone_enregistrerphoto"
        android:showAsAction="always"
        android:title="@string/menu_photo">
    </item>
    <item
        android:id="@+id/menu_sound"
        android:icon="@drawable/icone_enregistrerson"
        android:showAsAction="always"
        android:title="@string/menu_sound">
    </item>
    <item
        android:id="@+id/menu_settings"
        android:icon="@drawable/icone_parametres"
        android:showAsAction="always"
        android:title="@string/menu_settings">
    </item>

</menu>

もちろん、マニフェストのタグにActionBar追加android:uiOptions="splitActionBarWhenNarrow"して分割を有効にしました。<application>

私が得るのは空の「トップ」ActionBarです。一番下には 3 つのアイコンしか表示されていません。ポートレートモードでは上部に3〜4個、下部に5個、ランドスケープモードではすべて上部にアイコンを表示できると思いました。

注: Galaxy Nexus で ICS をテストしている場合でも、下位互換性を確保するために ActionBarSherlock を使用しています。

4

2 に答える 2

10

投稿が速すぎたようです。それは不可能のようです。

重複:

どうやらこれは不可能です。しかし、彼らは gmail/gplus でそれを行いました。おそらく、下部にカスタム ビューを使用していました...これに対するより良い答えをまだ期待しています!

これに関するレト・マイヤーの言葉

アクションを上下に分割することの問題点は、アクションを実行するのがより困難になることだと思います。アクションは、アクティビティで実行する最も重要なことであるべきです。画面の上部と下部にアクションを分割すると、ユーザーは 1 か所ではなく 2 か所を見る必要があります。

于 2012-04-17T22:15:37.237 に答える
6

また、これらのアプリの両方のバーにアイコンがどのように表示されるのか疑問に思っていたので、そのうちの 2 つを逆コンパイルしました。

私が見つけたのは、これら 2 つのアプリはをまったく実装しておらずActionBar、両方のバーにカスタム レイアウトを使用しているということです。これらのアプリの名前をここで挙げることができるかどうかはわかりませんが、ダウンロード数が 1,000 万を超える有名なアプリです。

デフォルト (カスタマイズの余地がほとんどない) が気に入らない場合は、同じ方法でActionBar代わりにカスタム レイアウトを作成することを強くお勧めします (両方のバーに必要ではなく、ニーズによって異なります)。

分割アクション バーのレイアウトを再現するのは非常に簡単です。その高さは常に48dpデバイスに関係なく、シンプルLinearLayoutまたはRelativeLayout固定の高さといくつかの透明な画像ボタンで非常にうまく機能します。わずか 15 分で、完全にカスタマイズ可能な分割アクション バーを取得できます。

于 2012-07-30T13:59:59.253 に答える