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>   设置  

即可调整高度  

 

转载于:https://www.cnblogs.com/jasondun/p/8327987.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值