4、xamarin forms 设置安卓的toolbar的高度
降低学习成本是每个.NET传教士义务与责任。
建立生态,保护生态,见者有份。
今天有群友说 如何调整 toolbar 的 高度。
最初遇到这个问题第一反映就是CustomRender 设置高度借助layout 进行调整高度。但事实上效果并不用这么麻烦。翻看源码
我们在使用xamarin forms 开发安卓程序的时候会发现 toolbar的高度要高太多。
尝试过多种方式去 比如CustomRender之类的最后都没有办法
最后查看源码发现 他是读取的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> 设置
即可调整高度