android - 设置 ActionMenuView 字体系列/字体
问题描述
我目前正在开发 Xamarin 上的应用程序,并且我正在尝试设置 ActionMenuView 的字体系列(在导航栏上),但我没有发现在此对象上设置字体系列。
此外,我想设置标题的字体系列并制作了一个完美运行的自定义渲染器。所以我对 ActionMenuView 进行了同样的尝试,但它没有任何字体/字体系列属性。
我的自定义渲染器(工作):
private void Toolbar_ChildViewAdded(object sender, ChildViewAddedEventArgs e)
{
// here I can pass on the ActionMenuView object but it does not have any typeface property?
if (e.Child.GetType() == typeof(Android.Support.V7.Widget.AppCompatTextView))
{
Android.Support.V7.Widget.AppCompatTextView AppCompatTextView = ((Android.Support.V7.Widget.AppCompatTextView)e.Child);
AppCompatTextView.SetTypeface(Typeface.CreateFromAsset(Context.ApplicationContext.Assets, "MontserratRegular.otf"), TypefaceStyle.Normal);
_toolbar.ChildViewAdded -= Toolbar_ChildViewAdded;
}
}
解决方案
您可以尝试创建样式:
<style name="Style_font">
<item name="fontFamily">@fonts/PTSerif-Bold.ttf</item>
</style>
然后在菜单中使用此样式。
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
在 MainActivity.cs 中:
Android.Support.V7.Widget.ActionMenuView bottombar =FindViewById<Android.Support.V7.Widget.ActionMenuView>(Resource.Id.toolbar_bottom);
IMenu bottomMenu = bottombar.Menu;
MenuInflater.Inflate(Resource.Drawable.menu_bottom_view_pager,bottomMenu);
我不会测试,但你可以试试
推荐阅读
- python - Python MySQL INSERT 抛出 ProgrammingError: 1064
- nativescript - Nativescript-vue,如何更改 BarSeries(Radchart) 图形“条形”颜色?
- android - 返回值无法转换为WebElement:android中的{element-6066-11e4-a52e-4f735466cecf=1, ELEMENT=1}
- regex - 某个字符串后的正则表达式
- android - Android TextView 在边界框内垂直对齐文本
- github - 使用部署密钥(R/W)从 CircleCI 推送到 GitHub,但 GitHub 说密钥是只读的
- c++ - 提取小数点后的值
- arrays - 查找数组元素索引的更好方法?
- reactjs - 无法在反应中的两个组件之间共享状态
- java - 我正在从 Firebase 获取数据并将其显示在 TextView 中,但出现了一些错误。任何人都可以检查我的代码并建议我