界面优化

This commit is contained in:
HapeLee
2026-05-22 02:49:29 +08:00
committed by Kudomaga
parent c7bf1db161
commit 88a3674e9a
@@ -1,28 +1,31 @@
package io.legado.app.ui.about package io.legado.app.ui.about
import androidx.compose.foundation.background
import androidx.compose.foundation.horizontalScroll
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.text.selection.SelectionContainer import androidx.compose.foundation.text.selection.SelectionContainer
import androidx.compose.foundation.verticalScroll import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.Button
import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
import androidx.compose.material3.OutlinedButton import androidx.compose.material3.Icon
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.input.nestedscroll.nestedScroll
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import io.legado.app.R import io.legado.app.R
import io.legado.app.ui.theme.LegadoTheme import io.legado.app.ui.theme.LegadoTheme
import io.legado.app.ui.widget.components.AppScaffold import io.legado.app.ui.widget.components.AppScaffold
import io.legado.app.ui.widget.components.button.ConfirmDismissButtonsRow
import io.legado.app.ui.widget.components.icon.AppIcons import io.legado.app.ui.widget.components.icon.AppIcons
import io.legado.app.ui.widget.components.text.AppText import io.legado.app.ui.widget.components.text.AppText
import io.legado.app.ui.widget.components.topbar.GlassMediumFlexibleTopAppBar import io.legado.app.ui.widget.components.topbar.GlassMediumFlexibleTopAppBar
@@ -62,44 +65,51 @@ fun CrashReportScreen(
.fillMaxSize() .fillMaxSize()
.padding(padding) .padding(padding)
.padding(horizontal = 16.dp, vertical = 12.dp), .padding(horizontal = 16.dp, vertical = 12.dp),
verticalArrangement = Arrangement.spacedBy(12.dp) verticalArrangement = Arrangement.spacedBy(16.dp)
) { ) {
Icon(
imageVector = AppIcons.BugReport,
contentDescription = null,
modifier = Modifier.size(48.dp),
tint = LegadoTheme.colorScheme.error
)
AppText( AppText(
text = stringResource(R.string.crash_report_message), text = stringResource(R.string.crash_report_message),
style = LegadoTheme.typography.bodyMedium style = LegadoTheme.typography.titleMedium
) )
SelectionContainer( SelectionContainer(
modifier = Modifier modifier = Modifier
.weight(1f) .weight(1f)
.fillMaxWidth() .fillMaxWidth()
.background(
color = LegadoTheme.colorScheme.surfaceContainerLow,
shape = RoundedCornerShape(12.dp)
)
.padding(12.dp)
.verticalScroll(rememberScrollState()) .verticalScroll(rememberScrollState())
.horizontalScroll(rememberScrollState())
) { ) {
AppText( AppText(
text = displayText, text = displayText,
style = LegadoTheme.typography.bodySmall, style = LegadoTheme.typography.bodySmall.copy(
fontFamily = FontFamily.Monospace fontFamily = FontFamily.Monospace,
letterSpacing = 0.sp,
lineHeight = 16.sp
),
softWrap = false
) )
} }
Row( ConfirmDismissButtonsRow(
modifier = Modifier.fillMaxWidth(), onDismiss = onRestart,
horizontalArrangement = Arrangement.spacedBy(12.dp) onConfirm = onCopy,
) { dismissText = stringResource(R.string.restart_app),
OutlinedButton( confirmText = stringResource(R.string.copy_text),
onClick = onRestart, confirmEnabled = errorText.isNotBlank()
modifier = Modifier.weight(1f) )
) {
Text(text = stringResource(R.string.restart_app))
}
Button(
onClick = onCopy,
enabled = errorText.isNotBlank(),
modifier = Modifier.weight(1f)
) {
Text(text = stringResource(R.string.copy_text))
}
}
} }
} }
} }