簡體   English   中英

Android自定義工具欄菜單項標題顏色和樣式

[英]Android custom toolbar menu item title color and style

我正在繪制一個自定義工具欄,該工具欄需要顯示在屏幕底部,即不是操作欄。

現在,我有一個工具欄和一個自定義菜單。

menu.xml文件

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto">
    <item 
          android:title="@string/get_directions"
          app:showAsAction="always|withText"
          android:icon="@drawable/navigation_icon/>
</menu>

線性布局內的工具欄布局。

<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar_options"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"/>

我使用toolbar.inflatemenu()來膨脹以上菜單。 現在,我想自定義菜單項標題的外觀(如顏色,字體等)。 除了在menuitem中使用actionlayout之外,還有什么方法可以做到這一點?

請注意,它不是“操作欄”。 我在互聯網上找到的所有解決方案都是針對動作欄的。 請為獨立工具欄提出一些建議。

在themes.xml或style.xml中創建新樣式

<style name="ToolbarStyle" parent="Theme.AppCompat.Light.DarkActionBar">
         ...
    <item name="actionMenuTextColor">@color/your_color</item>
         ...
 </style>

現在將樣式應用於工具欄

<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar_options"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:theme="@style/ToolbarStyle"
/>

樣式對我不起作用,所以我使用了:

public static void applyFontForToolbarTitle(Activity context){
    Toolbar toolbar = (Toolbar) context.findViewById(R.id.app_bar);
    for(int i = 0; i < toolbar.getChildCount(); i++){
        View view = toolbar.getChildAt(i);
        if(view instanceof TextView){
            TextView tv = (TextView) view;
            Typeface titleFont = Typeface.
               createFromAsset(context.getAssets(), "fonts/customFont");
            if(tv.getText().equals(context.getTitle())){
                tv.setTypeface(titleFont);
                break;
            }
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM