Trennwände für die actionbar Menü-Elemente
Ich entwickle Tablet-android-Anwendung. Ich habe hier ein Problem mit der UI, die action bar Menü-Elemente.
Hinweis: ich bin mit android Native actionbar.
1), Wie um zu zeigen Trennlinie zwischen den Menüpunkten wie als show in das Bild.
Ich habe versucht, mit Teiler Formatvorlagen und benutzerdefinierte Formatvorlagen, aber es spiegelt nicht in meine action bar.
2) Wie kann ich mehrere Menüeinträge in einem einzigen Menüpunkt wie als zeigen in der Abbildung.
Habe ich versucht mit custom-layout, aber overflow-Menü für die Elemente, die nicht angezeigt wird.
Ich habe versucht, mit PopupMenu für die overflow-Menü, aber das Symbol ist nicht sichtbar in der überlauf-Liste.
Hier war ich mit Formatvorlagen für die action-bar-Anwendung, styles.xml
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="AppTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/AppTheme.ActionBar</item>
<item name="android:textAllCaps">false</item>
<item name="android:actionMenuTextAppearance">@style/AppTheme.ActionBar.MenuTextStyle</item>
<item name="android:actionOverflowButtonStyle">@style/OverFlow</item>
<item name="android:divider">@color/dividercolor</item>
</style>
<style name="OverFlow" parent="@android:style/Widget.Holo.ActionButton.Overflow">
<item name="android:src">@drawable/ic_actionbar_dots</item>
</style>
<style name="AppTheme.ActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">@drawable/actionbar_background</item>
<item name="android:height">100dip</item>
<item name="android:titleTextStyle">@style/AppTheme.ActionBar.Text</item>
<item name="android:textColor">@color/white</item>
<item name="android:divider">@drawable/divider</item>
<item name="android:showDividers">beginning</item>
<item name="android:dividerPadding">10dp</item>
</style>
<style name="AppTheme.ActionBar.MenuTextStyle" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Menu">
<item name="android:textAllCaps">false</item>
<item name="android:textColor">@color/white</item>
<item name="android:textSize">26sp</item>
</style>
<style name="AppTheme.ActionBar.Text" parent="@android:style/TextAppearance">
<item name="android:textAllCaps">false</item>
<item name="android:textColor">@color/white</item>
</style>
menu.xml
<group android:id="@+id/menu_mainGroup" >
<item
android:id="@+id/connection"
android:icon="@drawable/nw_pt_calc"
android:showAsAction="always"
android:title=" ">
</item>
<item
android:id="@+id/status_menu"
android:actionLayout="@layout/application_status_overflowmenu"
android:showAsAction="ifRoom|withText">
</item>
<!--
<item
android:id="@+id/status"
android:icon="@drawable/ic_available"
android:showAsAction="always"
>
<menu>
<item
android:id="@+id/status1"
android:icon="@drawable/ic_available"
android:showAsAction="always"
android:title="@string/menu_available">
</item>
<item
android:id="@+id/status2"
android:icon="@drawable/ic_busy"
android:showAsAction="always"
android:title="@string/menu_busy">
</item>
<item
android:id="@+id/status3"
android:icon="@drawable/ic_logoff"
android:showAsAction="always"
android:title="@string/menu_logoff">
</item>
</menu>
</item>
<item
android:id="@+id/display_pic"
android:icon="@drawable/ic_person"
android:showAsAction="always">
</item>
<item
android:id="@+id/display_name"
android:showAsAction="always">
</item>
-->
<item
android:id="@+id/menu_search"
android:icon="@drawable/ic_search"
android:showAsAction="always"
android:visible="false">
</item>
<item
android:id="@+id/help"
android:icon="@drawable/ic_help"
android:showAsAction="always"
android:visible="false">
</item>
<item
android:id="@+id/about"
android:showAsAction="never"
android:title="@string/about">
</item>
<!--
<item
android:id="@+id/notification_history"
android:showAsAction="never"
android:title="@string/notification_history">
</item>
<item
android:id="@+id/comm_msg_history"
android:showAsAction="never"
android:title="@string/comm_msg_history">
</item>
-->
</group>
Hilfe wird dankbar sein. Vielen Dank freuen uns zu hören, die Antworten von den Freaks :).
InformationsquelleAutor Nagendra Badiganti | 2013-11-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß nicht, ob Sie beschlossen haben, Ihr problem. Aber erklären kann ich Sie nur für den Fall.
Erstens, passen Sie die Trennlinie in Ihre
ActionBar
Sie tun muss, um diese in IhremTheme
mit der übergeordnetenActionButton
. Sie tun dies:Diesem Weg versuchen:
Lesen Sie die Lösung hier: Können nicht ändern die Farbe der actionBar-Teiler und es gibt: ActionBar MenuItem Trennlinie.
Erstellen Sie dann eine
9-Patch
drawable zu schauen, wie genau das auf deinem Bild. Probieren Sie etwas wie dieses Bild:Den schwarzen Rand zeigen an, wo erweitern Sie Ihr Bild. Ich habe es auf der linken/rechten Seiten zu erweitern, um Ihre Teiler auf seiner Höhe. Sie können Lesen Draw 9-patch aus der Dokumentation wissen, wie das
Draw 9-Patch tool
im sdk.Oder machen Sie es sich in xml -, so etwas wie unten:
Danach, Sie müssen nur erklären, es in Ihrem
style.xml
:<item ...>@drawable/blue_divider</item>
.Jetzt haben Sie passen Teiler (=
Dann, Ihr benutzerdefiniertes layout in
ActionBar
.Es ist möglich zu tun, wie unten:
Sowie
application_status_overflowmenu.xml
wird so etwas wie:Und schließlich, können Sie haben Zugriff auf die
View
s zum aktualisieren der Elemente:Das ist alles!
Wenn Ihr im Menü Optionen verschwindet, prüfen Sie, ob Ihr
onCreateOptionsMenu
ist das aufblasen ein gutes layout, und wenn es true zurück. Sie können auch das benutzerdefinierte Element vor dem Optionen-Menü oder Element hinzufügen dynamisch. Ich lasse Sie dies tun, wie Sie wollen.Ich hoffe, dies wird nützlich sein, und es wird auch nützlich.
InformationsquelleAutor Fllo