2012-10-05 15 views
14

テキストだけのアクションバーにアイテムを配置したい。私はActionBarSherlockを使用しています。これどうやってするの。 1つは、テキストを含むアイコンを定義することです。私はそれをすることを好まないでしょう。文字列リソースからテキストアイテムを取得することは可能ですか?AndroidのActionBarアイテム(テキストのみ)

+1

これまでに何を試みましたか? – Dharmendra

答えて

19

はちょうどその項目のmenu.xmlに

android:icon 

フィールドを定義しません。

+4

これは機能しません。テキストはアクションバーに表示されません。あなたのアイコンのヌルを配置する必要があり – BruceHill

+0

: 'code' <項目 アンドロイド:ID = "@ + ID/your_menu_id" アプリ:showAsAction = "常に" アンドロイド:アイコン= "@ヌル" アンドロイド:タイトル=」 @ string/your_string "/>' code' –

10

ちょうどアンドロイドを追加することを確認し、これを考え出した:将来の参考のためshowAsAction =「常に」

<item 
    android:id="@+id/menu_item" 
    android:showAsAction="always" 
    android:title="@string/menu_title" /> 
+2

この単純な解決策には多くの時間がかかりました。 – shehzy

+0

AppCompatライブラリを使用している場合、 '' 'ではなく ' '' app:showAsAction = "always" ''を使用してください。android:showAsAction = "always" '' –

5

、私は、1がhttp://schemas.android.com/apk/res/android名前空間とhttp://schemas.android.com/apk/res-auto名前空間の両方にshowAsAction属性を定義する必要がありますことを発見しましたさまざまなAndroidバージョンとの互換性を提供します。このように、あなたのmenu.xmlファイルは次のようになります。あなたがそれはあなたがメニューを作成することができるボタンになりたい場合は

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     xmlns:tools="http://schemas.android.com/tools" 
     tools:context="net.taptools.android.sportshistory.PlayerProfileActivity" > 
<item android:id="@+id/action_settings" 
    android:title="Statistics" 
    app:showAsAction="always" 
    android:showAsAction="always"/> 
</menu> 
0

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     xmlns:tools="http://schemas.android.com/tools" 
     tools:context="net.taptools.android.sportshistory.PlayerProfileActivity" > 
<item android:id="@+id/action_settings" 
    android:title="Statistics" 
    app:showAsAction="always" 
    android:showAsAction="always"/> 
</menu> 

をしかし、場合には、あなたが使用できる唯一のTextViewを望んでいました:

@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
    TextView tv = new TextView(this); 
      tv.setText(getString(R.string.matchmacking)+" "); 
      tv.setTextColor(getResources().getColor(R.color.WHITE)); 
      tv.setOnClickListener(this); 
      tv.setPadding(5, 0, 5, 0); 
      tv.setTypeface(null, Typeface.BOLD); 
      tv.setTextSize(14); 
      menu.add(0, FILTER_ID, 1, R.string.matchmacking).setActionView(tv).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); 
} 

これはちょうどTextViewです。

関連する問題