[英]How to change the font of Action Bar's Option Menu Items Title?
我试图更改菜单项的字体样式,所以我想设置MenuItems字体样式是“Century-Gothic”。
以下是我的代码
menu.xml文件
<item
android:id="@+id/option_menu_item_1"
android:orderInCategory="1"`enter code here`
android:title="option_menu_item_1"
app:showAsAction="never" />
<item
android:id="@+id/option_menu_item_2"
android:orderInCategory="2"
android:title="option_menu_item_2"
app:showAsAction="never" />
<item
android:id="@+id/option_menu_item_3"
android:orderInCategory="3"
android:title="option_menu_item_3"
app:showAsAction="never" />
</menu>
MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
ViewConfiguration config = ViewConfiguration.get(this);
Field menuKeyField = ViewConfiguration.class
.getDeclaredField("sHasPermanentMenuKey");
if (menuKeyField != null) {
menuKeyField.setAccessible(true);
menuKeyField.setBoolean(config, false);
}
} catch (Exception e) {
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
return super.onCreateOptionsMenu(menu);
}
}
color.xml
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF00FF</color>
<color name="skyBlue">#FF0000</color>
</resources>
styles.xml
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:itemBackground">@color/skyBlue</item>
<item name="android:textStyle">bold</item>
</style>
</resources>
我得到如下图所示的输出
产量
但我想使用gothic.ttf Assets文件字体将MenuItem标题字体更改为(Century-Gothic)。
在styles.xml
里面添加以下代码
<item name="android:actionMenuTextAppearance">@style/MyActionBar.MenuTextStyle</item>
所以styles.xml看起来像这样。
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:itemBackground">@color/skyBlue</item>
<item name="android:textStyle">bold</item>
<item name="android:actionMenuTextAppearance">@style/MyActionBar.MenuTextStyle</item>
</style>
<style name="MyActionBar.MenuTextStyle" parent="Theme.AppCompat">
<item name="actionMenuTextColor">@color/white</item>
<item name="android:actionMenuTextColor">@color/white</item>
</style>
然后为MyActionBar.MenuTextStyle
创建样式并根据需要更改TextView
属性。
注意:您只能通过
Java code
使用custom fonts
,而不能通过布局XML
或styles/themes
。
有关更多详细信息,请访问: 在styles.xml中设置特定字体
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.