1.导航栏设计

1.1 由于需要水平布局的设计方式,所以外围需要使用一个HorizontalStackLayout 进行包裹着所有的子控件,来达到水平布局的效果。页面大概是这样子,按钮全部由RadioButton 进行重绘

MAUI 框架安卓入门开发01 界面设计-编程知识网

 最终要做的效果:

MAUI 框架安卓入门开发01 界面设计-编程知识网 

 1.2 代码页面设计

MAUI 框架安卓入门开发01 界面设计-编程知识网

1.3 运行效果发现,整个页面不怎么理想。所有的控件都是垂直居中。

MAUI 框架安卓入门开发01 界面设计-编程知识网

1.4 那么可以通过设置布局控件 HorizontalStackLayout的VerticalOptions属性,值设为Start ,把这个RadioButton 显示在开头

  • Start 该位置位于 RadioButton 开头HorizontalStackLayout
  • Center 垂直居中 RadioButton HorizontalStackLayout
  • End 该位置位于 RadioButton 末尾 HorizontalStackLayout
  • Fill 这可确保 RadioButton 填充的高度 HorizontalStackLayout

以上出自官网的文档:.NET MAUI HorizontalStackLayout – .NET MAUI | Microsoft Docs

MAUI 框架安卓入门开发01 界面设计-编程知识网

 这张图片出自官方文档

 1.5 设置后的效果

MAUI 框架安卓入门开发01 界面设计-编程知识网

MAUI 框架安卓入门开发01 界面设计-编程知识网

 2. 隐藏安卓显示的状态栏,以及标题栏。

2.1 由于项目初始加载是AppShell.xaml,这个AppShell.xaml引用了MainPage.xaml页面模板。把Home标题去掉,只需要在页面调用的时候直接指向MainPage.xaml 页面即可

MAUI 框架安卓入门开发01 界面设计-编程知识网

 2.2 要在应用中不显示手机状态栏,需要进入安卓设备进行修改 

MAUI 框架安卓入门开发01 界面设计-编程知识网

2.3 打开安卓文件夹,在MainActivity 类中调整安卓渲染的相关配置信息(外层窗口的配置信息)

  •  重写OnCreate 方法

MAUI 框架安卓入门开发01 界面设计-编程知识网

  protected override void OnCreate(Bundle savedInstanceState){//全透明任务栏Window.SetFlags(Android.Views.WindowManagerFlags.TranslucentNavigation,Android.Views.WindowManagerFlags.TranslucentNavigation);//设置状态栏,导航样颜色为透明Window.SetStatusBarColor(Android.Graphics.Color.Transparent);Window.SetNavigationBarColor(Android.Graphics.Color.Transparent);base.OnCreate(savedInstanceState);}

 2.4 修改后的效果

MAUI 框架安卓入门开发01 界面设计-编程知识网

3. 进行页面样式调整

  • 调整边距使用Margin属性
  • 把整个页面改颜色,用Background 属性,需要在ContentPage 里面修改 

3.1 修改RadioButton 样式模板,这章节有介绍 

  •  首先统一设置样式,并且设置Key
  • 在RadioButton 中,通过StaticResource 去关联到设置的统一样式

MAUI 框架安卓入门开发01 界面设计-编程知识网 

3.2 统一修改控件模板

MAUI 框架安卓入门开发01 界面设计-编程知识网

 上面的意思就是通过绑定的关系,实现模板中的Text 文字关联到实际控件的值

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"x:Class="MauiApp1.MainPage" Background="LightGray"><ContentPage.Resources><Style TargetType="RadioButton" x:Key="NavButtonStyle"><Setter Property="ControlTemplate"><ControlTemplate><Grid><Grid.RowDefinitions><RowDefinition /><RowDefinition Height="30" /></Grid.RowDefinitions><Label Text="{TemplateBinding Content}"></Label></Grid></ControlTemplate></Setter></Style></ContentPage.Resources><HorizontalStackLayout VerticalOptions="Start" Margin="0,30,0,0"><RadioButton Content="灯光" Style="{StaticResource NavButtonStyle}"></RadioButton><RadioButton Content="灯光" Style="{StaticResource NavButtonStyle}"></RadioButton><RadioButton Content="灯光" Style="{StaticResource NavButtonStyle}"></RadioButton><RadioButton Content="灯光" Style="{StaticResource NavButtonStyle}"></RadioButton><RadioButton Content="灯光" Style="{StaticResource NavButtonStyle}"></RadioButton></HorizontalStackLayout></ContentPage>

 下一章接着处理布局

 出自:全网首发.NET MAUI框架入门 已完结 附企业级WPF实战(C#/blazor/xamarin/停车场项目+通用框架+数据采集与监控/数据库)B0858_哔哩哔哩_bilibili

仅做为个人学习记录,仅供个人参考。