LyricViewX icon indicating copy to clipboard operation
LyricViewX copied to clipboard

当前主歌词和翻译歌词字号不一致时候,多行情况下二者间距不是很好

Open Moriafly opened this issue 3 years ago • 4 comments

Screenshot_2022-11-04-10-43-01-651_com dirror lyr

Moriafly avatar Nov 04 '22 02:11 Moriafly

这个实际是因为两个StaticLayout是独立在canvas上绘制的,然而中间的间距并不会缩放,二者都在各自的y轴中处缩放就把原本分隔二者的空间给占据了,现在设置缩放基点是在它们二者的y轴中心,即(staticLayout.height / 2f)

我觉得可以设置成: ~~firstPy -> (first.height + second.height + dividerHeight) / 2f~~ ~~secondPy -> (first.height + dividerHeight) - (first.height + second.height + dividerHeight) / 2f~~ ~~这样缩放基点应该就在它们二者的中间了~~ 实际这样治标不治本

我等会试着改改看看

cy745 avatar Nov 04 '22 04:11 cy745

这个实际是因为两个StaticLayout是独立在canvas上绘制的,然而中间的间距并不会缩放,二者都在各自的y轴中处缩放就把原本分隔二者的空间给占据了,现在设置缩放基点是在它们二者的y轴中心,即(staticLayout.height / 2f)

我觉得可以设置成: ~firstPy -> (first.height + second.height + dividerHeight) / 2f~ ~secondPy -> (first.height + dividerHeight) - (first.height + second.height + dividerHeight) / 2f~ ~这样缩放基点应该就在它们二者的中间了~ 实际这样治标不治本

我等会试着改改看看

我觉得如果再继续拆分会不会更好,每个 LyricEntry 有 4 个 StaticLayout,分别是 非当前行主歌词、非当前行副歌词、当前行主歌词、前行副歌词

还有歌词的定位有些偏移,当 HorizontalOffset 为 0f 的时候,前一些的歌词定位会偏下,后一些的歌词会偏上

Moriafly avatar Nov 06 '22 09:11 Moriafly

#17

Moriafly avatar Nov 06 '22 09:11 Moriafly

我觉得如果再继续拆分会不会更好,每个 LyricEntry 有 4 个 StaticLayout,分别是 非当前行主歌词、非当前行副歌词、当前行主歌词、前行副歌词

不太明白是什么样子的,是要在一个LyricEntry包含前一句的内容吗?

还有歌词的定位有些偏移,当 HorizontalOffset 为 0f 的时候,前一些的歌词定位会偏下,后一些的歌词会偏上

这个问题我有感觉到,歌词为两行的时候timeline大概在第一行的底部,歌词为一行的时候却在第一行的顶部,显得偶尔一上一下的

cy745 avatar Nov 06 '22 13:11 cy745