Android 开源歌词控件 LyricViewX
Android 开源歌词控件 LyricViewX
开源地址 Github
https://github.com/Moriafly/LyricViewX
效果展示 Dso Music
Github https://github.com/Moriafly/DsoMusic
双语
拖动
单语
比较与 LrcView
- 100% Kotlin 代码
- 交互优化,移除过时方法
- 提供 JitPack 库方便使用
- 提供新功能
如何使用
步骤 1. 将 JitPack 存储库添加到构建文件中
将它添加到 build.gradle(root) 中:
allprojects {repositories {...maven { url 'https://www.jitpack.io' }}
}
步骤 2. 添加依赖关系
dependencies {implementation 'com.github.Moriafly:LyricViewX:1.1.0'
}
方法
/*** 设置非当前行歌词字体颜色 [normalColor]*/
fun setNormalColor(normalColor: Int)/*** 普通歌词文本字体大小 [size],单位 px*/
fun setNormalTextSize(size: Float)/*** 当前歌词文本字体大小*/
fun setCurrentTextSize(size: Float)/*** 设置当前行歌词的字体颜色*/
fun setCurrentColor(currentColor: Int)/*** 设置拖动歌词时选中歌词的字体颜色*/
fun setTimelineTextColor(timelineTextColor: Int)/*** 设置拖动歌词时时间线的颜色*/
fun setTimelineColor(timelineColor: Int)/*** 设置拖动歌词时右侧时间字体颜色*/
fun setTimeTextColor(timeTextColor: Int)/*** 设置歌词为空时屏幕中央显示的文字 [label],如“暂无歌词”*/
fun setLabel(label: String)/*** 加载歌词文件* 两种语言的歌词时间戳需要一致* @param mainLyricFile 第一种语言歌词文件* @param secondLyricFile 可选,第二种语言歌词文件*/
fun loadLyric(mainLyricFile: File, secondLyricFile: File? = null)/*** 加载歌词文本* 两种语言的歌词时间戳需要一致* @param mainLyricText 第一种语言歌词文本* @param secondLyricText 可选,第二种语言歌词文本*/
fun loadLyric(mainLyricText: String?, secondLyricText: String? = null)/*** 加载在线歌词* @param lyricUrl 歌词文件的网络地址* @param charset 编码格式*/
fun loadLyricByUrl(lyricUrl: String, charset: String? = "utf-8")/*** 刷新歌词* @param time 当前播放时间*/
fun updateTime(time: Long)/*** 设置歌词是否允许拖动* @param draggable 是否允许拖动* @param onPlayClickListener 设置歌词拖动后播放按钮点击监听器,如果允许拖动,则不能为 null*/
fun setDraggable(draggable: Boolean, onPlayClickListener: OnPlayClickListener?)/*** 设置单击*/
fun setOnSingerClickListener(onSingerClickListener: OnSingleClickListener?)/*** @新增加* 获取当前歌词每句实体,可用于歌词分享* @return LyricEntry 集合*/
fun getLyricEntryList(): List<LyricEntry>/*** 播放按钮被点击,应该跳转到指定播放位置* @return 是否成功消费该事件,如果成功消费,则会更新UI*/
fun onPlayClick(time: Long): Boolean/*** 单击事件*/
fun onClick()
License
LyricViewX Copyright (C) 2021 Moriafly
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
Android 开源歌词控件 LyricViewX相关推荐
- c#控件弹幕效果_仿B站弹幕,极简Android开源弹幕控件:EasyDanmaku
EasyDanmaku 一个方便简单的Android弹幕控件,顾名思义so easy. easydanmaku easydanmaku 原理简单,纯java实现,方便修改和扩展: 体积小,占用资源少, ...
- android 开源聊天控件,聊天IM的时间戳显示规则
====================================================== 以下规则是在体验微信操作后,推测出来的规则,可能存在一些不准确的表述 ========== ...
- android动手写平滑滚动歌词控件
马上毕业了,前段时间一直忙自己的毕业设计和毕业论文,做的是一个android音乐播放器,今天特意抽出里面的一块功能来凑这篇博客--歌词的显示. 看看QQ音乐,歌词显示略屌,可惜我们的LRC文件并不能做 ...
- Android自定义View-简约风歌词控件
前言 最近重构了之前的音乐播放器,添加了许多功能,比如歌词,下载功能等.这篇文章就让我们聊聊歌词控件的实现(歌词控件也已经开源,地址也在文章底部),先上效果图,如果感觉海星,就继续瞧下去! 看到这里, ...
- Android自定义View实战:简约风歌词控件,Android开发者值得深入思考的几个问题
57[02:41.62]从不知 她的痛苦 58[02:52.02] 59[02:54.11]喜欢你 那双眼动人 60[03:00.13]笑声更迷人 61[03:02.38] 62[03:03.14]愿 ...
- android歌词效果,自定义View:Android歌词控件
TicktockMusic 音乐播放器项目相关文章汇总: 简介 之前做 TicktockMusic 音乐播放器,一个必要的需求肯定是歌词,在 github 上找了几个,发现或多或少都有点不满足需求,所 ...
- android MusicPlayer 音乐播放器 Lrc歌词控件的实现
MusicPlayer Lrc歌词控件的实现 最近在做一个音乐播放器,关于其中歌词控件,上网查过了一些资料,然后进行修改,也算完整的实现了其功能.先看看实现后的效果. 实现的原理实际上是自定义一个Vi ...
- Android自定义View实战:简约风歌词控件
作者:jsyjst 前言 最近重构了之前的音乐播放器,添加了许多功能,比如歌词,下载功能等.这篇文章就让我们聊聊歌词控件的实现,先上效果图,如果感觉海星,就继续瞧下去! 看到这里,估计你对这个控件还有 ...
- Android漂亮的音乐歌词控件,仿网易云音乐滑动效果
前言: 项目有个音乐播发器功能,实现音乐在线播放,同时需要带有歌词显示功能.网上也找过,在github找到勉强能用的控件,只是效果还是差强人意,不是特别好.于是趁有空的时间,参考了网上的部分demo, ...
最新文章
- Python学习笔记3——三大结构:顺序,分支,循环3
- Windows 2003 server 服务器集群实例
- @resource 与 @autowired
- mysql 8.0 集群_集群架构03·MySQL初识,mysql8.0环境安装,mysql多实例
- springMVC 统一异常处理异常处理类的使用
- Java 类的特性2
- sql server 入门_SQL Server查询调整入门
- 4个常用Linux开发环境工具,你最常用的是那个?
- 淘宝店铺的装修是店铺的门面,如何进行淘宝店铺装修?需要注意的点有哪些?
- 【软件网每日新闻播报│第9-18期】
- day23_1-re模块之转义字符、分组、方法
- 数据结构考研复习(详细指导)(持续更新中)
- 使用dubbo遇到了Unsatisfied dependency expressed through field ‘userService‘
- k8s调度过程中的资源分配问题
- 锂矿降龙十八掌之时乘六龙:盛新锂能
- cocos creator微信小游戏截图
- Python每日笔记打卡_day4
- 如何优雅地弄好PCB丝印
- 基于QQ远程协助的远程桌面实现
- 实验一 顺序与选择结构(Python 头歌)
热门文章
- 【react】解决在外部设置react组件input的value问题
- [概念] 风险识别工具 - 影响图(Influence Diagram) 1
- Servlet转发和重定向的区别
- 如何利用积分兑换商城系统助力积分商城运营
- 苹果云手机输入虚拟服务器,云虚拟服务器怎么手机控制
- Ubuntu下tomcat安装教程
- 评职称还用计算机,职称有什么用?现在计算机职称考试证书是不是越来越没价值啦?...
- 个人练习代码库/ColorMatrix/色调、饱和度、亮度调整
- 色标传感器和颜色传感器
- 从事游戏美术行业,游戏建模和游戏原画间怎么选择?