[优化] 增加了一个页面切换过渡动画的开关 #557
This commit is contained in:
@@ -46,6 +46,7 @@ object PreferKey {
|
||||
const val enableReview = "enableReview"
|
||||
const val showRss = "showRss"
|
||||
const val showStatusBar = "showStatusBar"
|
||||
const val swipeAnimation = "swipeAnimation"
|
||||
const val bookshelfLayout = "bookshelfLayout"
|
||||
const val bookshelfLayoutModePortrait = "bookshelfLayoutPortrait"
|
||||
const val bookshelfLayoutModeLandscape = "bookshelf_layout_landscape"
|
||||
|
||||
@@ -53,7 +53,9 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
|
||||
var themeMode = appCtx.getPrefString(PreferKey.themeMode, "0")
|
||||
var AppTheme = appCtx.getPrefString(PreferKey.appTheme, "0")
|
||||
var containerOpacity = appCtx.getPrefInt(PreferKey.containerOpacity, 100)
|
||||
|
||||
var swipeAnimation = appCtx.getPrefBoolean(PreferKey.swipeAnimation, true)
|
||||
|
||||
var useDefaultCover = appCtx.getPrefBoolean(PreferKey.useDefaultCover, false)
|
||||
var optimizeRender = CanvasRecorderFactory.isSupport
|
||||
&& appCtx.getPrefBoolean(PreferKey.optimizeRender, false)
|
||||
@@ -998,4 +1000,9 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
return str * 60 * 1000L
|
||||
}
|
||||
|
||||
var containerOpacity: Int
|
||||
get() = appCtx.getPrefInt(PreferKey.containerOpacity, 100)
|
||||
set(value) {
|
||||
appCtx.putPrefInt(PreferKey.containerOpacity, value)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -181,7 +181,7 @@ class ThemeConfigFragment : PreferenceFragmentCompat(),
|
||||
}
|
||||
|
||||
|
||||
PreferKey.paletteStyle, PreferKey.pureBlack, PreferKey.enableBlur -> {
|
||||
PreferKey.paletteStyle, PreferKey.pureBlack, PreferKey.enableBlur, PreferKey.swipeAnimation -> {
|
||||
ThemeSyncer.syncAll()
|
||||
Handler(Looper.getMainLooper()).postDelayed({
|
||||
recreateActivities()
|
||||
@@ -248,25 +248,35 @@ class ThemeConfigFragment : PreferenceFragmentCompat(),
|
||||
.setValue(10)
|
||||
.setCustomButton((R.string.btn_default_s)) {
|
||||
putPrefInt(PreferKey.fontScale, 0)
|
||||
recreateActivities()
|
||||
Handler(Looper.getMainLooper()).postDelayed({
|
||||
recreateActivities()
|
||||
}, 100)
|
||||
}
|
||||
.show {
|
||||
putPrefInt(PreferKey.fontScale, it)
|
||||
recreateActivities()
|
||||
Handler(Looper.getMainLooper()).postDelayed({
|
||||
recreateActivities()
|
||||
}, 100)
|
||||
}
|
||||
|
||||
PreferKey.containerOpacity -> NumberPickerDialog(requireContext())
|
||||
.setTitle(getString(R.string.container_opacity))
|
||||
.setMaxValue(100)
|
||||
.setMinValue(0)
|
||||
.setValue(100)
|
||||
.setValue(AppConfig.containerOpacity)
|
||||
.setCustomButton((R.string.btn_default_s)) {
|
||||
putPrefInt(PreferKey.containerOpacity, 100)
|
||||
ThemeSyncer.syncContainerOpacity()
|
||||
AppConfig.containerOpacity = 100
|
||||
Handler(Looper.getMainLooper()).postDelayed({
|
||||
ThemeSyncer.syncContainerOpacity()
|
||||
upPreferenceSummary(PreferKey.containerOpacity)
|
||||
}, 100)
|
||||
}
|
||||
.show {
|
||||
putPrefInt(PreferKey.containerOpacity, it)
|
||||
ThemeSyncer.syncContainerOpacity()
|
||||
AppConfig.containerOpacity = it
|
||||
Handler(Looper.getMainLooper()).postDelayed({
|
||||
ThemeSyncer.syncContainerOpacity()
|
||||
upPreferenceSummary(PreferKey.containerOpacity)
|
||||
}, 100)
|
||||
}
|
||||
|
||||
PreferKey.bgImage -> selectBgAction(false)
|
||||
|
||||
@@ -96,6 +96,7 @@ open class MainActivity : VMBaseActivity<ActivityMainBinding, MainViewModel>(),
|
||||
private val fragmentMap = hashMapOf<Int, Fragment>()
|
||||
private var bottomMenuCount = 4
|
||||
private val realPositions = arrayOf(idBookshelf, idExplore, idRss, idMy)
|
||||
private val swipeAnimation = AppConfig.swipeAnimation
|
||||
private val adapter by lazy {
|
||||
TabFragmentPageAdapter(this)
|
||||
}
|
||||
@@ -181,7 +182,7 @@ open class MainActivity : VMBaseActivity<ActivityMainBinding, MainViewModel>(),
|
||||
R.id.menu_my_config -> realPositions.indexOf(idMy)
|
||||
else -> 0
|
||||
}
|
||||
binding.viewPagerMain.setCurrentItem(index, true)
|
||||
binding.viewPagerMain.setCurrentItem(index, swipeAnimation)
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user