为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Xamarin 形式的效果的 Android 工具栏中心

使用 Xamarin 形式的效果的 Android 工具栏中心

C#
慕田峪4524236 2021-10-23 16:47:31
我试图在 Xamarin 表单中将页面的标题在 Android 中居中。我可以访问工具栏并能够设置字体系列。但我无法将文本对齐或重力设置为中心。var context = (Android.App.Activity)Forms.Context; var toolbar = context.Resources.GetIdentifier("toolbar", "id", context.PackageName); var view = context.FindViewById(toolbar);我尝试了以下方法:前景重力view.SetForegroundGravity(GravityFlags.Center);文本对齐view.TextAlignment = Android.Views.TextAlignment.Center;访问工具栏的子项并设置方向和对齐方式。if (view is ViewGroup){    var g = view as ViewGroup;    for (var i = 0; i < g.ChildCount; i++)    {        SetTypefaceToAllTextViews(g.GetChildAt(i), typeface);        g.GetChildAt(i).TextAlignment = Android.Views.TextAlignment.Center;        g.GetChildAt(i).TextDirection = TextDirection.Rtl;    }}问题是,我无法直接了解标题的严重性。编辑#1:我在投射视图后添加了此代码,我可以看到字体正在改变,但由于某种原因它不会居中或任何其他对齐方式if (view is TextView){    var tv = view as TextView;    tv.Typeface = typeface;    tv.TextAlignment = Android.Views.TextAlignment.Center;    tv.Gravity = GravityFlags.CenterHorizontal;}编辑#2: 我能够根据下面的答案将以下内容添加到效果中,并且它以某种方式将元素居中,但不完全位于中心。不知何故,它位于中心的右侧,除非工具栏中的右侧和左侧有 2 个图标,否则标题将真正居中。在 Android 8 上测试过。另外,我在类似的解决方案上发现了这个问题。https://github.com/CrossGeeks/CustomNavigationBarSample/issues/3
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 114 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信