mirror of
https://github.com/ikun0014/lx-music-mobile.git
synced 2025-07-03 07:02:10 +08:00
新增启用竖屏首页横向滚动设置(#397)
This commit is contained in:
parent
eef6a189d8
commit
651c011500
@ -6,6 +6,7 @@
|
||||
- 新增歌曲标签编辑功能,允许编辑本地源且文件歌曲存在的歌曲标签信息
|
||||
- 新增动态背景,默认关闭,启用后将使用当前歌曲封面做APP背景
|
||||
- 新增APP全局字体阴影,默认开启,可到设置-主题设置关闭
|
||||
- 新增启用竖屏首页横向滚动设置,默认开启(原来的行为),如果你不想要竖屏的首页左右滑动则可以关闭此设置(#397)
|
||||
|
||||
### 优化
|
||||
|
||||
|
@ -8,6 +8,7 @@ const defaultSetting: LX.AppSetting = {
|
||||
'common.isAgreePact': false,
|
||||
'common.autoHidePlayBar': true,
|
||||
'common.drawerLayoutPosition': 'left',
|
||||
'common.homePageScroll': true,
|
||||
'common.showBackBtn': false,
|
||||
'common.showExitBtn': true,
|
||||
|
||||
|
@ -240,6 +240,7 @@
|
||||
"setting_basic_font_size_80": "smaller",
|
||||
"setting_basic_font_size_90": "Small",
|
||||
"setting_basic_font_size_preview": "LX Music Font Size Preview",
|
||||
"setting_basic_home_page_scroll": "Enable horizontal scrolling on the vertical home page",
|
||||
"setting_basic_lang": "Language",
|
||||
"setting_basic_share_type": "Share",
|
||||
"setting_basic_share_type_clipboard": "copy to clipboard",
|
||||
|
@ -240,6 +240,7 @@
|
||||
"setting_basic_font_size_80": "较小",
|
||||
"setting_basic_font_size_90": "小",
|
||||
"setting_basic_font_size_preview": "LX Music 字体大小预览",
|
||||
"setting_basic_home_page_scroll": "启用竖屏首页横向滚动",
|
||||
"setting_basic_lang": "语言",
|
||||
"setting_basic_share_type": "分享方式",
|
||||
"setting_basic_share_type_clipboard": "复制到剪贴板",
|
||||
|
@ -9,6 +9,7 @@ import commonState, { type InitState as CommonState } from '@/store/common/state
|
||||
import { createStyle } from '@/utils/tools'
|
||||
import PagerView, { type PageScrollStateChangedNativeEvent, type PagerViewOnPageSelectedEvent } from 'react-native-pager-view'
|
||||
import { setNavActiveId } from '@/core/common'
|
||||
import settingState from '@/store/setting/state'
|
||||
|
||||
const hideKeys = [
|
||||
'list.isShowAlbumName',
|
||||
@ -259,10 +260,16 @@ const Main = () => {
|
||||
activeIndexRef.current = index
|
||||
pagerViewRef.current?.setPageWithoutAnimation(index)
|
||||
}
|
||||
const handleConfigUpdate = (keys: Array<keyof LX.AppSetting>, setting: Partial<LX.AppSetting>) => {
|
||||
if (!keys.includes('common.homePageScroll')) return
|
||||
pagerViewRef.current?.setScrollEnabled(setting['common.homePageScroll']!)
|
||||
}
|
||||
// window.requestAnimationFrame(() => pagerViewRef.current && pagerViewRef.current.setPage(activeIndexRef.current))
|
||||
global.state_event.on('navActiveIdUpdated', handleUpdate)
|
||||
global.state_event.on('configUpdated', handleConfigUpdate)
|
||||
return () => {
|
||||
global.state_event.off('navActiveIdUpdated', handleUpdate)
|
||||
global.state_event.off('configUpdated', handleConfigUpdate)
|
||||
}
|
||||
}, [])
|
||||
|
||||
@ -274,6 +281,7 @@ const Main = () => {
|
||||
offscreenPageLimit={1}
|
||||
onPageSelected={onPageSelected}
|
||||
onPageScrollStateChanged={onPageScrollStateChanged}
|
||||
scrollEnabled={settingState.setting['common.homePageScroll']}
|
||||
style={styles.pagerView}
|
||||
>
|
||||
<View collapsable={false} key="nav_search" style={styles.pageStyle}>
|
||||
|
@ -26,6 +26,6 @@ export default memo(() => {
|
||||
const styles = createStyle({
|
||||
content: {
|
||||
marginTop: 5,
|
||||
marginBottom: 15,
|
||||
// marginBottom: 15,
|
||||
},
|
||||
})
|
||||
|
@ -0,0 +1,31 @@
|
||||
import { updateSetting } from '@/core/common'
|
||||
import { useI18n } from '@/lang'
|
||||
import { createStyle } from '@/utils/tools'
|
||||
import { memo } from 'react'
|
||||
import { View } from 'react-native'
|
||||
import { useSettingValue } from '@/store/setting/hook'
|
||||
|
||||
|
||||
import CheckBoxItem from '../../components/CheckBoxItem'
|
||||
|
||||
export default memo(() => {
|
||||
const t = useI18n()
|
||||
const homePageScroll = useSettingValue('common.homePageScroll')
|
||||
const setHomePageScroll = (homePageScroll: boolean) => {
|
||||
updateSetting({ 'common.homePageScroll': homePageScroll })
|
||||
}
|
||||
|
||||
return (
|
||||
<View style={styles.content}>
|
||||
<CheckBoxItem check={homePageScroll} label={t('setting_basic_home_page_scroll')} onChange={setHomePageScroll} />
|
||||
</View>
|
||||
)
|
||||
})
|
||||
|
||||
|
||||
const styles = createStyle({
|
||||
content: {
|
||||
marginTop: 5,
|
||||
marginBottom: 15,
|
||||
},
|
||||
})
|
@ -9,6 +9,7 @@ import FontSize from './FontSize'
|
||||
import ShareType from './ShareType'
|
||||
import IsStartupAutoPlay from './IsStartupAutoPlay'
|
||||
import IsAutoHidePlayBar from './IsAutoHidePlayBar'
|
||||
import IsHomePageScroll from './IsHomePageScroll'
|
||||
import IsShowBackBtn from './IsShowBackBtn'
|
||||
import IsShowExitBtn from './IsShowExitBtn'
|
||||
import DrawerLayoutPosition from './DrawerLayoutPosition'
|
||||
@ -24,6 +25,7 @@ export default memo(() => {
|
||||
<IsShowBackBtn />
|
||||
<IsShowExitBtn />
|
||||
<IsAutoHidePlayBar />
|
||||
<IsHomePageScroll />
|
||||
<Theme />
|
||||
<DrawerLayoutPosition />
|
||||
<Language />
|
||||
|
5
src/types/app_setting.d.ts
vendored
5
src/types/app_setting.d.ts
vendored
@ -46,6 +46,11 @@ declare global {
|
||||
*/
|
||||
'common.drawerLayoutPosition': 'left' | 'right'
|
||||
|
||||
/**
|
||||
* 启用首页滑动
|
||||
*/
|
||||
'common.homePageScroll': boolean
|
||||
|
||||
/**
|
||||
* 是否显示返回按钮
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user