2013-04-20 9 views
8

私が試したことにかかわらず、アクションバーのメニュー項目でポートレートモードで画像やテキストが機能しないようです。私もアイコンとポートレートモードのテキストを含むActionBar

マイXMLをアンドロイド縦向きを強制しようとした:

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

は、誰もがこれを考え出していますか?

+1

これは違いがありますが、代わりに '' always | withText "' 'を試してみるのですか? – iTurki

+0

@iturki私はこれがうまくいくとは思っていません。下の私の答えを参照してください:) – Ahmad

答えて

9

ネイティブアクションバーのconfig.xmlファイルから:

値:

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

値-480dp:

いいえ:

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

あなたの質問に答えるためにデバイスの幅が480dpより小さい場合、それはできません。 (修飾されたフレームワークを持つカスタムROMを作成する場合を除き)

+1

そこにもその考えが行く。私はちょうどビューでカスタムボタンを作成すると思います。ありがとうございました! – Dnaso

0

なぜこのことができないのかは明らかです。アクションバーをカスタマイズするのは簡単ではありません。

クイックで汚れた解決策は、メニューに2つのボタンを配置し、アイコンをアイコンから削除し、別の名前を付けることです。それに対応するJavaファイルで、onOptionsItemSelectedの追加ボタンの機能を複製します。これにより、アクションバーのカスタムビューを作成する必要がなくなります。

<?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> 

私もこの回答を見ましたが、試してみませんでした:withText in split ActionBar #Google Calendar Method。これはGoogleカレンダーで行われる方法ですが、アクションバーを置き換えるカスタムビューにも依存しています。

関連する問題