KWGT笔记

备忘录

本文最后更新于 <span id="expire-date"></span> 天前,文中部分描述可能已经过时。

圈子太小了😵

歌曲相关

获取歌曲信息及封面:
首先给予插件APP通知使用权限(OPPO手机叫做读取应用通知的权限),并且插件APP设置里面首选音乐播放器为你的播放器,这样基本都能够获取到歌曲信息。为了让插件在桌面上的正常运行,你还得进行确保插件APP的后台运行(即锁后台)、关闭电池优化、给予开机自启。如果这样能获取到歌曲信息却获取不到歌曲封面那就,打开你的音乐APP的设置,将其里面的通知栏样式及锁屏样式改为系统样式或者取消默认的设置。

位图里面歌曲封面使用公式:

$if(mi(cover)="",ni(mi(package), bicon),mi(cover))$

基本解决主流APP的歌曲封面无法获取的问题

获取封面的优先级:
通知>内嵌>自定义位图(全局变量名为 “img” )

$if(mi(cover)!="",mi(cover),ni(mi(package),bicon),
if(ni(mi(package),bicon)!="",ni(mi(package),bicon),
gv(img)))$

获取歌词信息(滚动歌词同理):

  1. 适用于网易云音乐及酷我音乐:在音乐APP设置里面开启车载歌词功能,即原先应显示效果中"歌曲名称"的公式变为"歌词","歌手名"的公式变为"专辑名称-歌手名";
  2. 歌词文件匹配,把车载歌词关闭:利用歌曲名及歌手名与自己下载得歌词文件或者API接口源联网搜索到的歌词文件采用正则表达式按照歌曲播放的音轨时长来精准截取歌词段落。

使歌曲封面为采用圆角矩形:
记住所有图片项目里面不要直接添加图像,而是添加形状。
这样只要在形状里面图层-纹理里采用位图,就能使用形状的所有特性参数:圆角、形状、长宽、模糊效果(毛玻璃)、黑白等等。

专辑名称太长
限制文本长度有两种方法:

  1. 固定高度,用 tc 文本转换,截取前 n 个字符并添加 “…” :$tc(ell, mi(album), 11)$
  2. 固定宽度,最大行数 1 ,直接 $mi(title)$

其它技巧

  • 自定义输出内容
    利用if公式或者tc公式将输出内容改为你要的手输内容。
    $if(a=A,B)$ 或者 $tc(reg, a, "A", B)$ ,都是将公式a输出的内容为A改为B。一般用前者,可以做多个if或者if设置多个条件不同输出。
    可以利用此技巧实现一些简单的转换:中英日文互换、自动切换图标、自动显隐组件等等。(嵌套使用 if(mi(state)=xxx,A,B) 效果奇佳)

  • 锁定插件比例
    用if公式利用si里面的屏幕参数来固定底栏层中的比例,以使得别人用你制作的插件时不会变得丑丑的。
    这种适用于自动匹配屏幕参数来定值,适用制作给于小白用户,当然还是自己调的最合适。

  • 组件功能
    你会看到很多求组件的人,那组件是什么?
    组件是kustom APP的一个预设配置及资源的打包,不同于常规制作一个预设,相当于直接做一个可以移动的房子,哪里需要哪里就可以直接导入。
    底栏项目左上角添加你有的组件或者创建空白组件自行DIY,打包即项目中点进组件,右上角导出 .komp 文件,即可分享给他人,文件路径为kustom文件夹里面的komponents里。

  • 加锁防盗
    锁定自己的不让他人二改原创作品分享,且别人打开的时候只能看到你想让他看到的东西
    将预设做成组件,在组件中先右上角锁定组件再全局变量里面勾选不想被看到的全局变量参数右上角锁定,导出预设的时候记得先导出无锁组件作为备份,再重命名导出只读组件,这样kustom会自动加密组件。项目中删除组件内容,重新添加只读组件即可导出预设分享他人了。
    但是这里提倡大家不要这样做,虽可防小人,但圈子变大得靠大家互相学习、共同发展进步。

  • 全局变量
    什么是全局变量?比方它可以相当于可以机器的开关,也可以是一个人物的一套皮肤这般的存在。
    虽然制作一个预设你可以完全不用到全局变量,但它是一个懒人必学功能,可以让你一个预设变得多动性及便捷省事。
    你可以用它作为预设一个通用参数,比如统一颜色、统一字体、统一圆角等等;也可以用它作为可以一次修改多个项目内容的参数;也可以利用触摸功能改变全局变量中参数达到预设的多动性等等。
    如何利用它呢?

  1. 项目中选择你要统一的特性右侧的复选框右上角就会出现小地球标识🌍的全局变量,点击后即可在特性中选择你已经添加的全局变量参数。
  2. 项目中选择你要触摸得区域或者图标,添加全局开关切换,选择你已经添加的可切换全局变量参数或者利用触摸将其参数改为特定值。
    利用好它是长期的熟练运用跟创意想法的产生,多试试就会懂的了。
    但全局变量不宜添加过多,能用固定值解决的工作最好别浪费手机算力,否则可能导致不必要的卡顿、耗电……

常用公式:
$if(mi(state)=playing,A,B)$
参数A为播放歌曲时的显示内容、B为暂停或者无播放器的内容。
比如播放暂停图标切换或者颜色文本切换

小功能剪切板

  • 时钟指针
点击展开

指针式时针

##KUSTOMCLIP##
{
"clip_version": 1,
"clip_cut": [],
"clip_modules": [
{
"internal_type": "OverlapLayerModule",
"internal_title": "时针",
"config_rotate_mode": "CLOCK_HOUR_SMOOTH",
"position_offset_x": -205.0,
"viewgroup_items": [
{
"internal_type": "ShapeModule",
"shape_type": "RECT",
"shape_width": 95.0,
"shape_height": 7.0,
"shape_corners": 5.0,
"shape_rotate_mode": "DEG90",
"fx_shadow_blur": 40.0,
"fx_shadow_distance": 0,
"position_padding_bottom": 45.0,
"fx_shadow": "OUTER",
"fx_shadow_direction": 0,
"fx_shadow_color": "#AA000000"
}
]
},
{
"internal_type": "OverlapLayerModule",
"config_rotate_mode": "CLOCK_MINUTE",
"position_offset_x": -205.0,
"internal_title": "分针",
"viewgroup_items": [
{
"internal_type": "ShapeModule",
"shape_type": "RECT",
"shape_width": 125.0,
"shape_height": 7.0,
"shape_corners": 5.0,
"shape_rotate_mode": "DEG90",
"fx_shadow_blur": 40.0,
"fx_shadow_distance": 0,
"position_padding_bottom": 76.0,
"fx_shadow": "OUTER",
"fx_shadow_color": "#AA000000"
}
]
},
{
"internal_type": "ShapeModule",
"shape_type": "CIRCLE",
"shape_width": 18.0,
"paint_color": "#FFFF0000",
"fx_shadow": "OUTER",
"fx_shadow_blur": 5.0,
"fx_shadow_direction": 0,
"fx_shadow_distance": 0,
"internal_title": "小红点"
}
]
}
##KUSTOMCLIP##

评论

您所在的地区可能无法访问 Disqus 评论系统,请切换网络环境再尝试。