parent
8d5211c67e
commit
18a7566e7d
@ -1,41 +0,0 @@ |
|||||||
package io.legado.app.ui.book.audio |
|
||||||
|
|
||||||
import android.view.View |
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth |
|
||||||
import androidx.compose.foundation.layout.padding |
|
||||||
import androidx.compose.material.Card |
|
||||||
import androidx.compose.material.Slider |
|
||||||
import androidx.compose.runtime.Composable |
|
||||||
import androidx.compose.runtime.MutableState |
|
||||||
import androidx.compose.runtime.mutableStateOf |
|
||||||
import androidx.compose.runtime.remember |
|
||||||
import androidx.compose.ui.Modifier |
|
||||||
import androidx.compose.ui.unit.dp |
|
||||||
import androidx.compose.ui.window.Dialog |
|
||||||
import io.legado.app.model.AudioPlay |
|
||||||
import io.legado.app.service.AudioPlayService |
|
||||||
|
|
||||||
|
|
||||||
@Composable |
|
||||||
fun TimerDialog(state: MutableState<Boolean>, parent: View) { |
|
||||||
val intOffset = IntArray(2) |
|
||||||
parent.getLocationInWindow(intOffset) |
|
||||||
if (state.value) { |
|
||||||
val timeMinute = remember { |
|
||||||
mutableStateOf(AudioPlayService.timeMinute) |
|
||||||
} |
|
||||||
Dialog(onDismissRequest = { state.value = false }) { |
|
||||||
Card(Modifier.fillMaxWidth()) { |
|
||||||
Slider( |
|
||||||
modifier = Modifier.padding(horizontal = 16.dp), |
|
||||||
value = timeMinute.value.toFloat(), |
|
||||||
onValueChange = { |
|
||||||
timeMinute.value = it.toInt() |
|
||||||
AudioPlay.setTimer(it.toInt()) |
|
||||||
}, |
|
||||||
valueRange = 0f..180f, |
|
||||||
) |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,41 +0,0 @@ |
|||||||
package io.legado.app.ui.theme |
|
||||||
|
|
||||||
import androidx.compose.material.MaterialTheme |
|
||||||
import androidx.compose.material.darkColors |
|
||||||
import androidx.compose.material.lightColors |
|
||||||
import androidx.compose.runtime.Composable |
|
||||||
import androidx.compose.ui.graphics.Color |
|
||||||
import io.legado.app.help.config.ThemeConfig |
|
||||||
import io.legado.app.lib.theme.accentColor |
|
||||||
import io.legado.app.lib.theme.primaryColor |
|
||||||
import io.legado.app.utils.ColorUtils |
|
||||||
import splitties.init.appCtx |
|
||||||
|
|
||||||
object AppTheme { |
|
||||||
|
|
||||||
val colors |
|
||||||
get() = if (ThemeConfig.isDarkTheme()) { |
|
||||||
darkColors( |
|
||||||
primary = Color(appCtx.accentColor), |
|
||||||
primaryVariant = Color(ColorUtils.darkenColor(appCtx.accentColor)), |
|
||||||
secondary = Color(appCtx.primaryColor), |
|
||||||
secondaryVariant = Color(appCtx.primaryColor) |
|
||||||
) |
|
||||||
} else { |
|
||||||
lightColors( |
|
||||||
primary = Color(appCtx.accentColor), |
|
||||||
primaryVariant = Color(ColorUtils.darkenColor(appCtx.accentColor)), |
|
||||||
secondary = Color(appCtx.primaryColor), |
|
||||||
secondaryVariant = Color(appCtx.primaryColor) |
|
||||||
) |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
@Composable |
|
||||||
fun AppTheme(content: @Composable () -> Unit) { |
|
||||||
MaterialTheme( |
|
||||||
colors = AppTheme.colors, |
|
||||||
content = content |
|
||||||
) |
|
||||||
} |
|
@ -1,48 +0,0 @@ |
|||||||
package io.legado.app.ui.widget.checkbox |
|
||||||
|
|
||||||
import androidx.compose.foundation.clickable |
|
||||||
import androidx.compose.foundation.interaction.MutableInteractionSource |
|
||||||
import androidx.compose.foundation.layout.* |
|
||||||
import androidx.compose.material.ButtonDefaults |
|
||||||
import androidx.compose.material.Checkbox |
|
||||||
import androidx.compose.material.MaterialTheme |
|
||||||
import androidx.compose.material.Text |
|
||||||
import androidx.compose.material.ripple.rememberRipple |
|
||||||
import androidx.compose.runtime.Composable |
|
||||||
import androidx.compose.runtime.remember |
|
||||||
import androidx.compose.ui.Alignment |
|
||||||
import androidx.compose.ui.Modifier |
|
||||||
import androidx.compose.ui.draw.clip |
|
||||||
import androidx.compose.ui.unit.dp |
|
||||||
|
|
||||||
@Composable |
|
||||||
fun LabelledCheckBox( |
|
||||||
checked: Boolean, |
|
||||||
onCheckedChange: ((Boolean) -> Unit), |
|
||||||
label: String, |
|
||||||
modifier: Modifier = Modifier |
|
||||||
) { |
|
||||||
Row( |
|
||||||
verticalAlignment = Alignment.CenterVertically, |
|
||||||
modifier = modifier |
|
||||||
.clip(MaterialTheme.shapes.small) |
|
||||||
.clickable( |
|
||||||
indication = rememberRipple(color = MaterialTheme.colors.primary), |
|
||||||
interactionSource = remember { MutableInteractionSource() }, |
|
||||||
onClick = { onCheckedChange(!checked) } |
|
||||||
) |
|
||||||
.requiredHeight(ButtonDefaults.MinHeight) |
|
||||||
.padding(4.dp) |
|
||||||
) { |
|
||||||
Checkbox( |
|
||||||
checked = checked, |
|
||||||
onCheckedChange = null |
|
||||||
) |
|
||||||
|
|
||||||
Spacer(Modifier.size(6.dp)) |
|
||||||
|
|
||||||
Text( |
|
||||||
text = label, |
|
||||||
) |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue