2013-04-20 17 views
8

Nie mogę uzyskać obrazu i tekstu do pracy w trybie portretu w elementach menu na pasku akcji, niezależnie od tego, co próbuję. I nawet próbował zmusić android orientacji pionowejPasek akcji z ikoną i tekstem w trybie portretowym

Moje XML:

<item android:id="@+id/menu_save" 
    android:icon="@drawable/content" 
    android:orderInCategory="100" 
    android:title="New Group" 
android:showAsAction="withText|always" /> 

ktoś zdobione to?

+1

Nie jestem pewien, czy to coś zmieni, ale spróbuj '" always | withText "' zamiast – iTurki

+0

@iturki Wątpię, że to zadziała. Zobacz moją odpowiedź poniżej :) – Ahmad

Odpowiedz

9

Z pliku config.xml natywnej ActionBar:

wartości:

<bool name="config_allowActionMenuItemTextWithIcon">false</bool> 

Wartości-480dp:

<bool name="config_allowActionMenuItemTextWithIcon">true</bool> 

Aby odpowiedzieć na to pytanie:

Wcale nie może tego zrobić, jeśli szerokość urządzenia jest mniejsza niż 480dp. (Chyba że chcesz utworzyć niestandardowy ROM z modowanym szkieletem)

+1

dobrze tam idzie ten pomysł. Myślę, że źle po prostu utworzyć niestandardowe przyciski na widoku. Dziękuję Ci! – Dnaso

0

Odpowiedź Ahmada wyjaśnia, dlaczego nie jest to możliwe. To denerwujące, że pasek działań nie jest łatwiejszy do dostosowania.

Jednym szybkim i brudnym rozwiązaniem jest umieszczenie dwóch przycisków w menu, usunięcie ikony z jednej i nadanie drugiej innej nazwy. Następnie w odpowiednim pliku java powtórz funkcjonalność dodatkowego przycisku w onOptionsItemSelected. Eliminuje to konieczność tworzenia niestandardowego widoku paska akcji.

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:yourapp="http://schemas.android.com/apk/res-auto" > 
    <item android:id="@+id/action_done" 
      android:icon="@drawable/ic_done" 
      android:title="@string/done" 
      yourapp:showAsAction="always" /> 
    <item android:id="@+id/action_done2" 
      android:title="@string/done" 
      yourapp:showAsAction="always" /> 
    <item android:id="@+id/action_cancel" 
      android:icon="@drawable/ic_cancel" 
      android:title="@string/cancel" 
      yourapp:showAsAction="always" /> 
    <item android:id="@+id/action_cancel2" 
      android:title="@string/cancel" 
      yourapp:showAsAction="always" /> 
</menu> 

Widziałem również tę odpowiedź, ale nie próbował go: withText in split ActionBar #Google Calendar Method. Tak dzieje się w Kalendarzu Google, ale jest również zależny od niestandardowego widoku zastępującego pasek akcji.

Powiązane problemy