Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c# – 使用Xamarin表单中的效果的Android工具栏中心大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我试图以Xamarin形式将Android页面标题集中在一起.
我可以访问工具栏并能够设置字体系列.但我无法将文本对齐或重力设置为居中.

var context =(Android.App.Activity)Forms.Context;
 var toolbar = context.resources.GetIdentifier(“toolbar”,“id”,context.PackageName);
 var view = context.FindViewById(toolbar);

我尝试了以下方法

ForegroundGravity

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

最佳答案
我不确定你的效果如何实现的,但是下面的自定义渲染器似乎可以工作(与居中文本相关的位在ToolbarChildAdded方法中):

public class CustomNavigationPageRenderer : NavigationPageRenderer
{
    Android.Support.V7.Widget.Toolbar toolbar;

    public CustomNavigationPageRenderer(Context context) : base(context)
    {
    }

    protected override void OnElementChanged(ElementChangedEventArgs

c# – 使用Xamarin表单中的效果的Android工具栏中心

大佬总结

以上是大佬教程为你收集整理的c# – 使用Xamarin表单中的效果的Android工具栏中心全部内容,希望文章能够帮你解决c# – 使用Xamarin表单中的效果的Android工具栏中心所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。