diff --git a/android/app/src/main/java/cn/toside/music/mobile/lyric/LyricView.java b/android/app/src/main/java/cn/toside/music/mobile/lyric/LyricView.java index 5ba0ffe..5f04e75 100644 --- a/android/app/src/main/java/cn/toside/music/mobile/lyric/LyricView.java +++ b/android/app/src/main/java/cn/toside/music/mobile/lyric/LyricView.java @@ -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; } diff --git a/publish/changeLog.md b/publish/changeLog.md index d5373a8..c262b4f 100644 --- a/publish/changeLog.md +++ b/publish/changeLog.md @@ -1,7 +1,20 @@ +从现在起,有了一个显示状态栏歌词的方式:通过调用第三方Xposed模块【墨•状态栏歌词】的API支持来状态栏歌词(感谢@ftevxk)。 +但考虑到要依赖第三方应用,并且是Xposed模块,预计用的人会比较少,所以暂不考虑将此特性包含在正式版中,如你满足使用条件并需要此特性,可以看项目的置顶issue + ### 新增 -- 新增设置-播放设置-显示歌词罗马音,默认关闭,注:目前只有网易源能获取到罗马音歌词,如果你知道其他源的歌词罗马音获取方式,欢迎PR! +- 新增设置-播放设置-显示歌词罗马音,默认关闭,注:目前只有网易源能获取到罗马音歌词(得益于 Binaryify/NeteaseCloudMusicApi/pull/1523),如果你知道其他源的歌词罗马音获取方式,欢迎PR或开issue交流! +- 新增黑、白桌面歌词主题 + +### 优化 + +- 允许桌面歌词拖动到状态栏上(感谢@ftevxk) +- 允许选择更新日志弹窗里的文本内容 ### 修复 - 修复潜在的桌面歌词导致应用崩溃问题 + +### 其他 + +- 升级React native到v0.68.2 diff --git a/src/navigation/components/VersionModal.js b/src/navigation/components/VersionModal.js index 51e1a0c..02d34a1 100644 --- a/src/navigation/components/VersionModal.js +++ b/src/navigation/components/VersionModal.js @@ -16,7 +16,7 @@ const VersionItem = ({ version, desc }) => { return ( v{version} - {desc} + {desc} ) } @@ -182,7 +182,7 @@ const VersionModal = ({ componentId }) => { {t('version_label_change_log')} - {versionInfo.desc} + {versionInfo.desc} ) diff --git a/src/screens/Home/Setting/Basic/Theme.js b/src/screens/Home/Setting/Basic/Theme.js index fdedf3c..9fe1ccb 100644 --- a/src/screens/Home/Setting/Basic/Theme.js +++ b/src/screens/Home/Setting/Basic/Theme.js @@ -93,6 +93,7 @@ const styles = StyleSheet.create({ width: 26, height: 26, borderRadius: 4, + elevation: 1, }, name: { marginTop: 2, diff --git a/src/screens/Home/Setting/LyricDesktop/Theme.js b/src/screens/Home/Setting/LyricDesktop/Theme.js index 034ece0..a04d25d 100644 --- a/src/screens/Home/Setting/LyricDesktop/Theme.js +++ b/src/screens/Home/Setting/LyricDesktop/Theme.js @@ -64,5 +64,6 @@ const styles = StyleSheet.create({ width: 20, height: 20, borderRadius: 4, + elevation: 1, }, }) diff --git a/src/utils/lyricDesktop.js b/src/utils/lyricDesktop.js index a51e691..e84bd7e 100644 --- a/src/utils/lyricDesktop.js +++ b/src/utils/lyricDesktop.js @@ -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 = [