随笔分类 -  .NET MAUI

摘要:[MAUI 项目实战] 手势控制音乐播放器(一): 概述与架构这是一篇系列博文。请关注我,学习更多.NET MAUI开发知识! [MAUI 项目实战] 手势控制音乐播放器(一): 概述与架构 [MAUI 项目实战] 手势控制音乐播放器(二): 手势交互 [MAUI 项目实战] 手势控制音乐播放器(三): 动画 [MAUI 项目实战] 手势控制音乐播放器(四): 阅读全文
posted @ 2023-04-09 18:13 林晓lx 阅读(509) 评论(0) 推荐(2)
摘要:[MAUI 项目实战] 手势控制音乐播放器(四):圆形进度条@ 我们将绘制一个圆形的音乐播放控件,它包含一个圆形的进度条、专辑页面和播放按钮。 关于图形绘制 使用MAUI的绘制功能,需要Microsoft.Maui.Graphics库。 Microsoft.Maui.Graphics 是一个实验性的跨平台图形库,它可以在 .NET MAUI 中使用。它提供了 阅读全文
posted @ 2023-04-09 10:33 林晓lx 阅读(442) 评论(0) 推荐(3)
摘要:[MAUI 项目实战] 手势控制音乐播放器(三): 动画@ 上一章节我们创建了手势容器控件PanContainer,它对拖拽物进行包装并响应了平移手势和点击手势。 拖拽物现在虽然可以响应手势操作,但视觉效果较生硬,一个优秀的设计要求UI界面交互流畅,页面元素显得灵动,则少不了动画(Animation)。 本章节我们对拖拽物加入过渡动画 吸附动画 还记的上 阅读全文
posted @ 2023-04-09 00:18 林晓lx 阅读(289) 评论(0) 推荐(1)
摘要:[MAUI 项目实战] 手势控制音乐播放器(二): 手势交互@ 原理 定义一个拖拽物,和它拖拽的目标,拖拽物可以理解为一个平底锅(pan),拖拽目标是一个坑(pit),当拖拽物进入坑时,拖拽物就会被吸附在坑里。可以脑补一下下图: 你问我为什么是平底锅和坑,当然了在微软官方的写法里pan是平移的意思,而不是指代平底锅。只是通过同义词来方便理解 坑就是正好是平底 阅读全文
posted @ 2023-04-08 18:00 林晓lx 阅读(340) 评论(1) 推荐(4)
摘要:[MAUI 项目实战] 音乐播放器(三):界面交互UI设计的本质是对于产品的理解在界面中多种形式的映射,当需求和定位不同时,对相同的功能表达出了不同的界面和交互方式。作为播放器,界面可以是千差万别的。《番茄播放器》的iOS平台上我开发了传统版本,和基于手势播放的版本。它们界面不同,但用的同一个播放内核。作为播放内核项目,在MatoMusic.Core的工作已经结束。本系列博文重点还是在播放器思路的解读,关于MAUI动画交互,我打算有时间另外写博客(这里给自己挖个坑)。 本项目中朴实无华的播放器界面部分,我想仅作为辅佐播放内核的示例,对于页面和控件的Xaml部分不会展开描述。 阅读全文
posted @ 2023-02-27 17:18 林晓lx 阅读(1056) 评论(1) 推荐(10)
摘要:[MAUI 项目实战] 音乐播放器(二):播放内核曲目排序,原理是通过交换位置实现的,iOS和Android平台都有自己的可排序列表控件,在对选中的条目进行排序(往往是提起条目-拖拽-释放)的过程中,触发事件往往提供当前条目。在传统播放器随机播放时,如果下一曲不是我想听的,我仍然想听上一曲,由于上一曲按钮是随机触发的时机 阅读全文
posted @ 2023-02-12 00:27 林晓lx 阅读(727) 评论(0) 推荐(4)
摘要:[MAUI 项目实战] 音乐播放器(一):概述与架构为什么想起来这个项目了呢?这是一个Windows Phone 8的老项目,2014年用作为兴趣写了个叫“番茄播放器”的App,顺便提高编程技能。这个项目的架构历经多次迁移,从WP8到UWP再到Xamarin.Forms。去年底随着MAUI的正式发布,又尝试把它迁移到MAUI上来。 阅读全文
posted @ 2023-02-12 00:25 林晓lx 阅读(1819) 评论(2) 推荐(19)
摘要:将Abp移植进.NET MAUI项目(三):构建UI层​ 很开心,终于到了创建页面的时候了! 我们需要两个页面 MainPage 主页面 MusicItemPage 条目编辑页面 编写主页面 新建一个MainPageViewModel.cs,作为MainPage的ViewModel层 public class MainPageViewModel : V 阅读全文
posted @ 2022-05-25 18:46 林晓lx 阅读(849) 评论(3) 推荐(3)
摘要:将Abp移植进.NET MAUI项目(二):配置与基类编写​ 因为我们要做一个数据持久化型的小应用,所以在完成Abp功能的集成后,我们需要做数据库相关的配置工作 配置数据库 在MauiBoilerplate.Core项目中,添加两个实体类: 我们简单的写一个歌曲(song)的实体类 其中包含了歌曲标题(MusicTitle),艺术家(Artist),专辑( 阅读全文
posted @ 2022-05-25 18:44 林晓lx 阅读(844) 评论(0) 推荐(1)
摘要:将Abp移植进.NET MAUI项目(一):搭建项目​ 前言 写在.NET MAUI官宣正式发布之际,热烈庆祝MAUI正式发布! 去年12月份做了MAUI混合开发框架的调研,想起来文章里给自己挖了个坑,要教大家如何把Abp移植进Maui项目,由于篇幅限制,将分为三个章节。 将Abp移植进.NET MAUI项目(一):搭建项目 - 林晓lx - 博客园 阅读全文
posted @ 2022-05-25 18:43 林晓lx 阅读(3448) 评论(15) 推荐(14)
摘要:​ 在MAUI微软的官方方案是使用Blazor开发,但是当前市场大多数的Web项目使用Vue,React等技术构建,如果我们没法绕过已经积累的技术,用Blazor重写整个项目并不现实。 Vue是当前流行的web框架, 简单来说是一套模板引擎,利用“模板”和“绑定”两大特性实现web页面mvvm模式开 阅读全文
posted @ 2022-01-15 10:17 林晓lx 阅读(5113) 评论(13) 推荐(19)
摘要:​ 混合开发的概念是相对与原生开发来说的:App不直接运行原生程序,而是在原生程序中运行一个Web程序,原生程序中包含Web运行时,用于承载Web页面。暂且将原生应用称之为Web容器,Web容器应该能让JavaScript代码与原生平台的代码交互,互相调用,同时为上层提供交互逻辑,例如导航,事件,C 阅读全文
posted @ 2022-01-15 10:15 林晓lx 阅读(1141) 评论(1) 推荐(0)
摘要:闲来无事开发了个日期选择控件,感兴趣的同学前往: https://github.com/MatoApps/Mato.DatePicker Mato.DatePicker 说明 这是一个带有农历日历的日期选择Xamarin控件 可以指定初始日期 多选和单选日期 引用 PCL:https://www.n 阅读全文
posted @ 2018-07-23 23:50 林晓lx 阅读(1882) 评论(0) 推荐(0)
摘要:前几天遇到个touch事件的坑,记录下来以增强理解。 具体是 想把一个listview嵌套到另一个listview,这时候如果list view(子listview)的内容过多超过容器高度,它是不会出现滚动条压缩内容区域的,反而会将滚动区域转移到外面的list view(父listview),这个无 阅读全文
posted @ 2017-04-27 15:08 林晓lx 阅读(4118) 评论(1) 推荐(1)