mirror of
https://github.com/ikun0014/lx-music-mobile.git
synced 2025-07-04 16:08:54 +08:00
修复横屏歌词字体大小设置不生效的问题,修改歌词行高计算方式
This commit is contained in:
parent
4410cdab53
commit
95071b5415
@ -7,7 +7,7 @@ import { createStyle } from '@/utils/tools'
|
||||
import { useTheme } from '@/store/theme/hook'
|
||||
import { useSettingValue } from '@/store/setting/hook'
|
||||
import Text from '@/components/common/Text'
|
||||
import { scaleSizeH, setSpText } from '@/utils/pixelRatio'
|
||||
import { setSpText } from '@/utils/pixelRatio'
|
||||
// import { screenkeepAwake } from '@/utils/nativeModules/utils'
|
||||
// import { log } from '@/utils/log'
|
||||
// import { toast } from '@/utils/tools'
|
||||
@ -23,7 +23,7 @@ const LrcLine = memo(({ line, lineNum, activeLine }: {
|
||||
const theme = useTheme()
|
||||
const playerPortraitStyle = useSettingValue('playDetail.horizontal.style.lrcFontSize')
|
||||
const textAlign = useSettingValue('playDetail.style.align')
|
||||
const lineHeight = scaleSizeH(setSpText(playerPortraitStyle) / 10 * 1.25)
|
||||
const lineHeight = setSpText(playerPortraitStyle / 10) * 1.25
|
||||
|
||||
return (
|
||||
<View style={styles.line}>
|
||||
@ -175,8 +175,8 @@ const styles = createStyle({
|
||||
paddingTop: '80%',
|
||||
},
|
||||
line: {
|
||||
paddingTop: 8,
|
||||
paddingBottom: 8,
|
||||
paddingTop: 10,
|
||||
paddingBottom: 10,
|
||||
// opacity: 0,
|
||||
},
|
||||
lineText: {
|
||||
|
@ -49,7 +49,7 @@ export default memo(() => {
|
||||
<CommentBtn />
|
||||
<Btn icon="slider" onPress={showSetting} />
|
||||
</View>
|
||||
<SettingPopup ref={popupRef} position="left" />
|
||||
<SettingPopup ref={popupRef} position="left" direction="horizontal" />
|
||||
</View>
|
||||
)
|
||||
})
|
||||
|
@ -7,7 +7,7 @@ import { createStyle } from '@/utils/tools'
|
||||
import { useTheme } from '@/store/theme/hook'
|
||||
import { useSettingValue } from '@/store/setting/hook'
|
||||
import Text from '@/components/common/Text'
|
||||
import { scaleSizeH, setSpText } from '@/utils/pixelRatio'
|
||||
import { setSpText } from '@/utils/pixelRatio'
|
||||
// import { screenkeepAwake } from '@/utils/nativeModules/utils'
|
||||
// import { log } from '@/utils/log'
|
||||
// import { toast } from '@/utils/tools'
|
||||
@ -61,7 +61,7 @@ const LrcLine = memo(({ line, lineNum, activeLine }: {
|
||||
const theme = useTheme()
|
||||
const playerPortraitStyle = useSettingValue('playDetail.vertical.style.lrcFontSize')
|
||||
const textAlign = useSettingValue('playDetail.style.align')
|
||||
const lineHeight = scaleSizeH(setSpText(playerPortraitStyle) / 10 * 1.25)
|
||||
const lineHeight = setSpText(playerPortraitStyle / 10) * 1.25
|
||||
|
||||
return (
|
||||
<View style={styles.line}>
|
||||
@ -213,8 +213,8 @@ const styles = createStyle({
|
||||
paddingTop: '80%',
|
||||
},
|
||||
line: {
|
||||
paddingTop: 8,
|
||||
paddingBottom: 8,
|
||||
paddingTop: 10,
|
||||
paddingBottom: 10,
|
||||
// opacity: 0,
|
||||
},
|
||||
lineText: {
|
||||
|
@ -51,7 +51,7 @@ export default memo(() => {
|
||||
<Icon name="slider" size={19} />
|
||||
</TouchableOpacity>
|
||||
</View>
|
||||
<SettingPopup ref={popupRef} />
|
||||
<SettingPopup ref={popupRef} direction="vertical" />
|
||||
</View>
|
||||
)
|
||||
})
|
||||
|
@ -8,13 +8,15 @@ import SettingPlaybackRate from './settings/SettingPlaybackRate'
|
||||
import SettingLrcFontSize from './settings/SettingLrcFontSize'
|
||||
import SettingLrcAlign from './settings/SettingLrcAlign'
|
||||
|
||||
export type SettingPopupProps = Omit<PopupProps, 'children'>
|
||||
export interface SettingPopupProps extends Omit<PopupProps, 'children'> {
|
||||
direction: 'vertical' | 'horizontal'
|
||||
}
|
||||
|
||||
export interface SettingPopupType {
|
||||
show: () => void
|
||||
}
|
||||
|
||||
export default forwardRef<SettingPopupType, SettingPopupProps>((props, ref) => {
|
||||
export default forwardRef<SettingPopupType, SettingPopupProps>(({ direction, ...props }, ref) => {
|
||||
const [visible, setVisible] = useState(false)
|
||||
const popupRef = useRef<PopupType>(null)
|
||||
// console.log('render import export')
|
||||
@ -41,7 +43,7 @@ export default forwardRef<SettingPopupType, SettingPopupProps>((props, ref) => {
|
||||
<View onStartShouldSetResponder={() => true}>
|
||||
<SettingVolume />
|
||||
<SettingPlaybackRate />
|
||||
<SettingLrcFontSize />
|
||||
<SettingLrcFontSize direction={direction} />
|
||||
<SettingLrcAlign />
|
||||
</View>
|
||||
</ScrollView>
|
||||
|
@ -10,9 +10,12 @@ import { useI18n } from '@/lang'
|
||||
import styles from './style'
|
||||
|
||||
|
||||
const LrcFontSize = () => {
|
||||
const LrcFontSize = ({ direction }: {
|
||||
direction: 'horizontal' | 'vertical'
|
||||
}) => {
|
||||
const theme = useTheme()
|
||||
const lrcFontSize = useSettingValue('playDetail.vertical.style.lrcFontSize')
|
||||
const settingKey = direction == 'horizontal' ? 'playDetail.horizontal.style.lrcFontSize' : 'playDetail.vertical.style.lrcFontSize'
|
||||
const lrcFontSize = useSettingValue(settingKey)
|
||||
const [sliderSize, setSliderSize] = useState(lrcFontSize)
|
||||
const [isSliding, setSliding] = useState(false)
|
||||
const t = useI18n()
|
||||
@ -26,7 +29,7 @@ const LrcFontSize = () => {
|
||||
const handleSlidingComplete: SliderProps['onSlidingComplete'] = value => {
|
||||
setSliding(false)
|
||||
if (lrcFontSize == value) return
|
||||
updateSetting({ 'playDetail.vertical.style.lrcFontSize': value })
|
||||
updateSetting({ [settingKey]: value })
|
||||
}
|
||||
|
||||
return (
|
||||
|
Loading…
x
Reference in New Issue
Block a user