parent
							
								
									347d6a1ecc
								
							
						
					
					
						commit
						9f47450767
					
				@ -0,0 +1,48 @@ | 
				
			|||||||
 | 
					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