2017-02-07 7 views
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" 
> 
<item 
    android:id="@+id/action_next" 
    android:title="@string/next" 
    app:showAsAction="always" /> 

テキストメニューがまったく表示されません。

toolbar.setLogo(R.mipmap.logo); 
toolbar.setNavigationIcon(R.mipmap.back); 

はまた、私は

onCreateOptionsMenu

に膨張メニュー次のメニューを膨らませています。メニュー項目にアイコンを置くと、それが表示されます。 私はandroid.support.v7.widget.Toolbarを使用しました。

編集は:

私はそれを解決しました。他の誰かがそのような問題にぶつかった場合。

スタイルで

<item name="android:actionMenuTextColor">@color/blue</item> 

を追加してください。メニュー項目がクリックで選択されているものの、表示されていないため、白いツールバーに白いテキストの色が表示されていました。 menuTextの色の設定は私の問題を解決しました。アクションアイテムと:

+0

私はあなたのツールバーのロゴとナビゲーションアイコンが多くのスペースを取っていると思います。あなたは 'setSupportActionBar(toolbar)'を追加しましたか? –

+0

白いツールバーを使用している場合は、なぜテーマを暗く使うのか...光テーマメニューを使用するとテキストが黒くなります。 –

+0

私は軽いテーマを使用しています。しかしどこかで使用されていた白のようなcolorPrimaryを指定しました。 – seema

答えて

0

Android DocumentationshowAsActionます

ためwithTextオプションも(タイトルアンドロイドで定義された)タイトルテキストが含まれていることを説明しています。

これが望ましいので、次のように記述してください。 、

まず、あなたの活動にデフォルトのタイトルを削除します:

<item 
android:id="@+id/action_next" 
android:title="@string/next" 
app:showAsAction="always|withText" /> 
+0

ありがとうございました。これは、スタイルにメニューテキストの色を追加することで解決しました。それは今働いている。 – seema

0

あなたはこのような何かを行うことができ

getSupportActionBar().setDisplayShowTitleEnabled(false); 

次に、ツールバーのレイアウトは次のようになります

<LinearLayout 
    android:id="@+id/toolbar_layout" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 

    <android.support.v7.widget.Toolbar 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="@color/material_blue" 
     android:elevation="5dp" 
     android:minHeight="?attr/actionBarSize" > 

     <TextView 
      android:id="@+id/toolbar_title" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="end" 
      android:gravity="end" 
      android:text="@string/app_name" 
      android:textColor="@android:color/white" /> 
    </android.support.v7.widget.Toolbar> 
</LinearLayout> 

あなたのアクティビティでclickイベントを処理します:

toolbarTop.findViewById(R.id.toolbar_title).setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     Log.d(TAG,"Clicked"); 
    } 
}); 
関連する問題