feat: 新 UI 实验性特性
This commit is contained in:
parent
abc4a7b862
commit
37e69fdbcc
|
|
@ -1,6 +1,8 @@
|
|||
package com.huanchengfly.tieba.post.ui.page.settings.about
|
||||
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
|
|
@ -15,19 +17,27 @@ import androidx.compose.material.MaterialTheme
|
|||
import androidx.compose.material.Text
|
||||
import androidx.compose.material.TextButton
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableIntStateOf
|
||||
import androidx.compose.runtime.mutableLongStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.accompanist.drawablepainter.rememberDrawablePainter
|
||||
import com.google.accompanist.insets.ui.Scaffold
|
||||
import com.huanchengfly.tieba.post.BuildConfig
|
||||
import com.huanchengfly.tieba.post.R
|
||||
import com.huanchengfly.tieba.post.toastShort
|
||||
import com.huanchengfly.tieba.post.ui.common.theme.compose.ExtendedTheme
|
||||
import com.huanchengfly.tieba.post.ui.widgets.compose.BackNavigationIcon
|
||||
import com.huanchengfly.tieba.post.ui.widgets.compose.MyScaffold
|
||||
import com.huanchengfly.tieba.post.ui.widgets.compose.TitleCentredToolbar
|
||||
import com.huanchengfly.tieba.post.utils.appPreferences
|
||||
import com.huanchengfly.tieba.post.utils.launchUrl
|
||||
import com.ramcosta.composedestinations.annotation.Destination
|
||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||
|
|
@ -37,11 +47,20 @@ import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
|||
fun AboutPage(
|
||||
navigator: DestinationsNavigator,
|
||||
) {
|
||||
Scaffold(
|
||||
var lastClickTime by remember { mutableLongStateOf(0L) }
|
||||
var clickCount by remember { mutableIntStateOf(0) }
|
||||
|
||||
MyScaffold(
|
||||
backgroundColor = Color.Transparent,
|
||||
topBar = {
|
||||
TitleCentredToolbar(
|
||||
title = stringResource(id = R.string.title_about),
|
||||
title = {
|
||||
Text(
|
||||
text = stringResource(id = R.string.title_about),
|
||||
fontWeight = FontWeight.Bold,
|
||||
style = MaterialTheme.typography.h6
|
||||
)
|
||||
},
|
||||
navigationIcon = {
|
||||
BackNavigationIcon(onBackPressed = { navigator.navigateUp() })
|
||||
}
|
||||
|
|
@ -91,7 +110,30 @@ fun AboutPage(
|
|||
Text(
|
||||
text = stringResource(id = R.string.tip_about, BuildConfig.VERSION_NAME),
|
||||
style = MaterialTheme.typography.caption,
|
||||
color = ExtendedTheme.colors.textSecondary
|
||||
color = ExtendedTheme.colors.textSecondary,
|
||||
modifier = Modifier.clickable(
|
||||
interactionSource = remember { MutableInteractionSource() },
|
||||
indication = null,
|
||||
onClick = {
|
||||
val currentTime = System.currentTimeMillis()
|
||||
if (currentTime - lastClickTime < 500) {
|
||||
clickCount++
|
||||
} else {
|
||||
clickCount = 1
|
||||
}
|
||||
lastClickTime = currentTime
|
||||
if (clickCount >= 7) {
|
||||
clickCount = 0
|
||||
context.appPreferences.showExperimentalFeatures =
|
||||
!context.appPreferences.showExperimentalFeatures
|
||||
if (context.appPreferences.showExperimentalFeatures) {
|
||||
context.toastShort(R.string.toast_experimental_features_enabled)
|
||||
} else {
|
||||
context.toastShort(R.string.toast_experimental_features_disabled)
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
)
|
||||
}
|
||||
Spacer(modifier = Modifier.height(48.dp))
|
||||
|
|
|
|||
|
|
@ -641,7 +641,7 @@
|
|||
<string name="insert_voice">语音</string>
|
||||
<string name="emoticon_default">表情</string>
|
||||
<string name="emoticon">表情 %s</string>
|
||||
<string name="summary_enable_new_ui">(实验性特性)启用新版 UI。仅少部分页面完成,BUG 可能较多,仅供尝鲜使用!</string>
|
||||
<string name="summary_enable_new_ui">启用新版 UI。部分页面尚未完成,BUG 可能较多,仅供尝鲜使用!</string>
|
||||
<string name="title_enable_new_ui">启用新版 UI</string>
|
||||
<string name="title_dialog_oksign_battery_optimization">请忽略“电池优化”</string>
|
||||
<string name="message_dialog_oksign_battery_optimization">在 Android 12 及以上版本中,后台启动前台服务被严格限制。为了避免一键签到无法正常启动,请忽略本应用的“电池优化”。</string>
|
||||
|
|
|
|||
Loading…
Reference in New Issue