zoukankan      html  css  js  c++  java
  • 4、xamarin forms 设置安卓的toolbar的高度

    降低学习成本是每个.NET传教士义务与责任。

    建立生态,保护生态,见者有份。

    今天有群友说 如何调整 toolbar 的 高度。 

    最初遇到这个问题第一反映就是CustomRender 设置高度借助layout 进行调整高度。但事实上效果并不用这么麻烦。翻看源码

    我们在使用xamarin forms 开发安卓程序的时候会发现 toolbar的高度要高太多。

     尝试过多种方式去 比如CustomRender之类的最后都没有办法

    https://github.com/xamarin/Xamarin.Forms/blob/master/Xamarin.Forms.Platform.Android/AppCompat/NavigationPageRenderer.cs

    最后查看源码发现 他是读取的style的值.........

    int ActionBarHeight()
            {
                int attr = Resource.Attribute.actionBarSize;
    
                int actionBarHeight;
                using (var tv = new TypedValue())
                {
                    actionBarHeight = 0;
                    if (Context.Theme.ResolveAttribute(attr, tv, true))
                        actionBarHeight = TypedValue.ComplexToDimensionPixelSize(tv.Data, Resources.DisplayMetrics);
                }
    
                if (actionBarHeight <= 0)
                    return Device.Info.CurrentOrientation.IsPortrait() ? (int)Context.ToPixels(56) : (int)Context.ToPixels(48);
                
                if (((Activity)Context).Window.Attributes.Flags.HasFlag(WindowManagerFlags.TranslucentStatus) || ((Activity)Context).Window.Attributes.Flags.HasFlag(WindowManagerFlags.TranslucentNavigation))
                {
                    if (_toolbar.PaddingTop == 0)
                        _toolbar.SetPadding(0, GetStatusBarHeight(), 0, 0);
    
                    return actionBarHeight + GetStatusBarHeight();
                }
    
                return actionBarHeight;
            }

    最后修改style 

        <item name="actionBarSize">30dp</item>   设置  

    即可调整高度  

  • 相关阅读:
    镜像的上传和下载
    ps 命令
    过滤不合格数据
    云计算5-3-2法则
    Python Django初入门
    python web框架
    BootStrap、EasyUI、JQueryUI
    JS正则
    ngonx FastCGI 相关参数调优
    Windows10远程连接错误-出现身份验证错误
  • 原文地址:https://www.cnblogs.com/jasondun/p/8327987.html
Copyright © 2011-2022 走看看