Flutter仿网易云音乐 ---基础准备
源码地址:https://gitee.com/admin_327355/music
资源、工具准备
1.接口:网易云音乐 NodeJS 版 API
2.UI:Android apk通过压缩文件解压后获取图标,客户端截图,然后通过PxCook软件对截图标注和取色。
3.widget文档:通过 Flutter中文网 查看Widgets目录,通过老孟博客查看widget具体的使用方法。
项目准备
屏幕适配
我在Flutter官网并没有找到关于屏幕单位适配的描述和解决方案。在多方查找之后选择使用screenutils的解决方案。
- 初始化
screenutils使用方式参考github wiki,需要注意的是,旧版貌似需要在State的build方式中初始化,官方最新版是在MyApp种通过LayoutBuilder实现
class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return LayoutBuilder(builder: (context, constraints) {//设置适配尺寸 (填入设计稿中设备的屏幕尺寸) 此处假如设计稿是按iPhone6的尺寸设计的(iPhone6 750*1334)ScreenUtil.init(constraints, designSize: Size(750, 1334), allowFontScaling: false);return MaterialApp(...);},);}
}
- 使用方法
ScreenUtil().setWidth(540) (sdk>=2.6 : 540.w) //根据屏幕宽度适配尺寸ScreenUtil().setHeight(200) (sdk>=2.6 : 200.h) //根据屏幕高度适配尺寸(一般根据宽度适配即可)ScreenUtil().setSp(24) (sdk>=2.6 : 24.sp) //适配字体ScreenUtil().setSp(24, allowFontScalingSelf: true) (sdk>=2.6 : 24.ssp) //适配字体(根据系统的“字体大小”辅助选项来进行缩放)ScreenUtil().setSp(24, allowFontScalingSelf: false) (sdk>=2.6 : 24.nsp) //适配字体(不会根据系统的“字体大小”辅助选项来进行缩放)ScreenUtil.pixelRatio //设备的像素密度ScreenUtil.screenWidth (sdk>=2.6 : 1.sw) //设备宽度ScreenUtil.screenHeight (sdk>=2.6 : 1.sh) //设备高度ScreenUtil.bottomBarHeight //底部安全区距离,适用于全面屏下面有按键的ScreenUtil.statusBarHeight //状态栏高度 刘海屏会更高ScreenUtil.textScaleFactor //系统字体缩放比例ScreenUtil().scaleWidth // 实际宽度的dp与设计稿宽度的比例ScreenUtil().scaleHeight // 实际高度的dp与设计稿高度度的比例0.2.sw //屏幕宽度的0.2倍0.5.sh //屏幕高度的50%
如果要适配一个正方形的时候,我们可以宽高设置同样的值,如:
Container(width: 200.h,height:200.h
)
如果要对文字大小适配可以在初始化allowFontScaling参数设置为true,使用时候:
Text('我的文字大小在设计稿上是24px,不会随着系统的文字缩放比例变化',style: TextStyle(color: Colors.black,fontSize: 24.sp,),),
Text('我的文字大小在设计稿上是24px,会随着系统的文字缩放比例变化',style: TextStyle(color: Colors.black,fontSize: 24.ssp,),),
图片资源
Flutter中的图片以asset资源的形式存在,需要在pubspec.yaml文件中指定图片的路径。形式如:
flutter:assets:- assets/my_icon.png- assets/background.png
Flutter中的图片适配由系统自动决定采用,我们适配需要建立的目录如:
…/my_icon.png
…/2.0x/my_icon.png
…/3.0x/my_icon.png
系统会根据设备分辨率自动选择对应文件夹下的图片资源,每次新增图片都需要对项目执行flutter pub get 命令重新编译(目前测试图片必须在基础文件中存在,如果文件单独在2.0x文件中存在会无法引用)
Flutter仿网易云音乐 ---基础准备相关推荐
- Flutter 仿网易云音乐App
图 首页 歌曲播放和卡片切换 如正版一样,歌曲播放进度在播放/暂停 按钮的边框显示(页面下方,由黑变红) 没登录的话,一般只能听12秒 目前只做了 模块('超带感的说唱精选')的点播功能, 其他地方可 ...
- flutter 仿网易云音乐(2)
gitee项目地址 github项目地址 如果喜欢请点点star 这里今天说一下项目的播放器选择 查看了一下pub.dev 上主流的播放器插件主要有audioplayers和just_audi ...
- flutter 仿网易云音乐(3)
继续深入的将一下just_audio和audio_service搭配怎么在也没啥上使用 这里主要是创建了一个全局管理page_manager.dart 首先整理一下需求,我们在页面上需要展示到播放列表 ...
- 仿网易云音乐的滑动冲突处理效果
系列文章 此功能属于仿网易云音乐App的一部分 仿网易云音乐App(基础版) 实现网易云音乐的渐进式卡片切换 Flutter 自定义View--仿同花顺自选股列表 Flutter自定义View--仿高 ...
- Flutter+FishRedux高仿网易云音乐
flutter_netease_cloud_music 采用FishRedux框架与开源网易云音乐api开发的高仿网易云音乐APP,技术栈主要是:Flutter+FishRedux,目前主要是偏重AP ...
- 还不会用Flutter?仿网易云音乐项目(已开源)
原作者:公众号boyan 前言 Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面.Flutter可以与现有的代码一起工作.在全世界,Flutter正在被越 ...
- 仿网易云音乐源码html5
HTML5仿网易云音乐播放器特效源码是一款仿网易云音乐外链播放器UI的HTML5 APlayer音乐播放器插件的代码.APlayer音乐播放器可以自定义歌曲封面,可以自定义同步歌词等,界面时尚大方,是 ...
- 【开源项目学习】源码剖析,学习仿网易云音乐app代码
[前言] 这篇文字不全是讲app代码,而是博主怎么根据代码系统学习梳理的过程,非专业,如有不对,欢迎指出 仿网易云音乐app源码地址:https://github.com/aa112901/remus ...
- 用HTML+CSS仿网易云音乐网站(6个页面)_实训素材
⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIV+CSS 布局制作,HTML+CSS网页设计期末课程大作业 | 音乐网页设计 | 仿网易云音乐 | 各大音乐官网网页 | 明星 ...
最新文章
- MATLAB 不能用了,哪些替代品可以继续搞科研?
- 回溯算法超详细讲解(附代码)
- java小编程----在排序数组中查找元素的第一个和最后一个位置
- 分布式系统监控系统zipkin入门
- Oracle 11g 新特性 -- Invisible Indexes(不可见的索引) 说明
- GridView 分页导航
- php面向对象特性(一)
- 什么时候用到id和class?
- Windows Qt设置环境变量
- 如何将MySQL卸载干净?
- android inflate,android inflate详解
- Hbase性能测试及优化过程记
- 高通FastCV简介
- WPF实现纵向显示TabControl标题及标题字体样式
- 新书问答:Software Wasteland
- rabbitmq的安装和配置
- 将数组作为参数进行传递(转)
- 发现一款不错的快速开发平台
- 有线电视显示无服务器,有线电视常见故障排查指南!只需这几招,就能轻松搞定...
- 第二节 下载和安装ISM Web组态软件