新增黑、白桌面歌词主题

This commit is contained in:
lyswhut 2022-05-12 10:39:17 +08:00
parent 1289f84985
commit 728e5bad2d
6 changed files with 39 additions and 8 deletions

View File

@ -161,7 +161,7 @@ public class LyricView extends Activity implements View.OnTouchListener {
textView.setAlpha(alpha);
textView.setTextSize(textSize);
Log.d("Lyric", "alpha: " + alpha + " text size: " + textSize);
textView.setShadowLayer(1, 0, 0, Color.BLACK);
textView.setShadowLayer(0.3f, 0, 0, Color.BLACK);
textView.setMaxLines(maxLineNum);
textView.setEllipsize(TextUtils.TruncateAt.END);
@ -178,7 +178,11 @@ public class LyricView extends Activity implements View.OnTouchListener {
// ? WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
// : WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
if (isLock) {
layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;
layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE |
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
textView.setBackgroundColor(Color.TRANSPARENT);
// 修复 Android 12 的穿透点击问题
@ -186,7 +190,10 @@ public class LyricView extends Activity implements View.OnTouchListener {
layoutParams.alpha = 0.8f;
}
} else {
layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
textView.setBackgroundResource(R.drawable.rounded_corner);
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.R) {
@ -293,7 +300,11 @@ public class LyricView extends Activity implements View.OnTouchListener {
public void lockView() {
isLock = true;
if (windowManager == null || textView == null) return;
layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;
layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE |
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.R) {
layoutParams.alpha = 0.8f;
}
@ -304,7 +315,10 @@ public class LyricView extends Activity implements View.OnTouchListener {
public void unlockView() {
isLock = false;
if (windowManager == null || textView == null) return;
layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.R) {
layoutParams.alpha = 1.0f;
}

View File

@ -1,7 +1,20 @@
从现在起有了一个显示状态栏歌词的方式通过调用第三方Xposed模块【墨•状态栏歌词】的API支持来状态栏歌词感谢@ftevxk)。
但考虑到要依赖第三方应用并且是Xposed模块预计用的人会比较少所以暂不考虑将此特性包含在正式版中如你满足使用条件并需要此特性可以看项目的置顶issue
### 新增
- 新增设置-播放设置-显示歌词罗马音默认关闭目前只有网易源能获取到罗马音歌词如果你知道其他源的歌词罗马音获取方式欢迎PR
- 新增设置-播放设置-显示歌词罗马音,默认关闭,注:目前只有网易源能获取到罗马音歌词(得益于 Binaryify/NeteaseCloudMusicApi/pull/1523如果你知道其他源的歌词罗马音获取方式欢迎PR或开issue交流
- 新增黑、白桌面歌词主题
### 优化
- 允许桌面歌词拖动到状态栏上(感谢@ftevxk
- 允许选择更新日志弹窗里的文本内容
### 修复
- 修复潜在的桌面歌词导致应用崩溃问题
### 其他
- 升级React native到v0.68.2

View File

@ -16,7 +16,7 @@ const VersionItem = ({ version, desc }) => {
return (
<View style={{ marginBottom: 10 }}>
<Text style={{ ...styles.label, color: theme.normal, marginBottom: 2 }}>v{version}</Text>
<Text style={{ ...styles.desc, color: theme.normal }}>{desc}</Text>
<Text selectable style={{ ...styles.desc, color: theme.normal }}>{desc}</Text>
</View>
)
}
@ -182,7 +182,7 @@ const VersionModal = ({ componentId }) => {
<View>
<Text style={{ ...styles.label, color: theme.normal }}>{t('version_label_change_log')}</Text>
<View style={{ paddingLeft: 10, marginTop: 5 }}>
<Text style={{ ...styles.desc, color: theme.normal }}>{versionInfo.desc}</Text>
<Text selectable style={{ ...styles.desc, color: theme.normal }}>{versionInfo.desc}</Text>
</View>
</View>
)

View File

@ -93,6 +93,7 @@ const styles = StyleSheet.create({
width: 26,
height: 26,
borderRadius: 4,
elevation: 1,
},
name: {
marginTop: 2,

View File

@ -64,5 +64,6 @@ const styles = StyleSheet.create({
width: 20,
height: 20,
borderRadius: 4,
elevation: 1,
},
})

View File

@ -14,6 +14,8 @@ export const themes = [
{ id: 'purple', value: '#c851d4' },
{ id: 'orange', value: '#ffad12' },
{ id: 'grey', value: '#bdc3c7' },
{ id: 'black', value: '#333333' },
{ id: 'white', value: '#ffffff' },
]
export const textPositionX = [