当我试图强制NavigationBar使用MaterialTheme.colorScheme.surface颜色时(请参阅材料 3 指南),应用程序的背景颜色和颜色NavigationBar不同。示例: 的颜色NavigationBar为#f1edf7,但背景颜色为#fffbfe。背景应用程序颜色也是MaterialTheme.colorScheme.surface如此。
android navigationbar android-jetpack-compose material-you android-jetpack-compose-material3
如何设置material3卡的标高?我正在使用新的material3卡并收到错误
此材质 API 是实验性的,将来可能会更改或删除。
这是代码->
@ExperimentalMaterial3Api
@Composable
fun ProfileCard(
modifier: Modifier = Modifier
) {
Card(
modifier = modifier
.fillMaxWidth()
.wrapContentHeight()
.padding(all = 16.dp),
shape = RoundedCornerShape(size = 16.dp),
containerColor = MaterialTheme.colorScheme.surface,
border = BorderStroke(width = 1.dp, color = MaterialTheme.colorScheme.inverseOnSurface),
elevation = CardDefaults.outlinedCardElevation()
) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
由于海拔引起的错误,我无法运行应用程序如何设置海拔?
编辑:通过添加解决了问题
elevation = CardDefaults.outlinedCardElevation(defaultElevation = 1.dp)
Run Code Online (Sandbox Code Playgroud)
为什么我们必须为CardDefaults.outlinedCardElevation添加边框,为什么它默认不显示?
android material-design material-components-android android-jetpack-compose android-jetpack-compose-material3
在使用基于视图的系统时,我们可以使用以下代码来协调颜色。
MaterialColors.harmonizeWithPrimary(context, colorToHarmonize)
Run Code Online (Sandbox Code Playgroud)
在完全迁移到 Jetpack Compose 并且所有颜色值都存储在文件中的项目中Color.kt,如何在运行时对颜色应用协调?
android android-jetpack-compose material-you android-jetpack-compose-material3 material3
val pullRefreshState = rememberPullRefreshState(loadStatus is LoadState.Loading, onRefresh = {
photosResponse.refresh()
})
Box(
modifier
.fillMaxSize()
.pullRefresh(pullRefreshState)
Run Code Online (Sandbox Code Playgroud)
我已将材料 2 更新为材料 3:
api(libs.androidx.compose.material3) // group = "androidx.compose.material3", name = "material3"
Run Code Online (Sandbox Code Playgroud)
但现在无法使用滑动刷新,没有任何东西可以导入
android android-jetpack-compose android-jetpack-compose-material3
我正在尝试创建一个具有嵌套滚动行为的撰写屏幕。为此,我使用lazyColumn作为父级,并且在其中我确实有多个带有layRow的行。
val scrollState = rememberLazyListState()
LazyColumn(
state = scrollState,
modifier = Modifier
.background(Color.White),
)
{
items(100, key = { it })
{
LazyRow(
contentPadding = PaddingValues(start = 16.dp, end = 16.dp),
horizontalArrangement = Arrangement.spacedBy(10.dp)
) {
items(10, key = { it }) {
Text(text = "Text $it")
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我滚动列表时,我的行为出现滞后。我尝试创建发布版本并看到一些改进,但行为仍然显示出一些垃圾行为。不同类型的设备上的行为有所不同。
我尝试使用 Column 作为父视图,并看到了良好的改进,但它将列表中的所有视图加载在一起。这导致了一些其他延迟问题。
当我进行宏观基准测试时,发现了很多垃圾帧。其中大多数都请求渲染操作。
这里有什么优化建议吗?
android android-jetpack-compose android-jetpack-compose-material3 android-compose-layout
Material3 模态底部表单当前与系统导航按钮重叠。有没有办法避免与系统导航按钮重叠。
这是我用来显示模态底部工作表的代码
@Composable
fun TestScreen() {
var sheetOpened by mutableStateOf(false)
Scaffold() {
Box(Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
Button(onClick = { sheetOpened = true }){
Text("Open Bottom Sheet")
}
}
}
if(sheetOpened){
ModalBottomSheet(onDismissRequest = {sheetOpened = false}){
Box(Modifier.fillMaxWidth().height(500.dp).background(Color.RED))
}
}
}
Run Code Online (Sandbox Code Playgroud)
尝试将模态底板放入脚手架内,但这也不起作用。
android android-jetpack-compose android-jetpack-compose-material3
在 Material 和 Material2 Compose上,修改器上有一个SwipeableState和一个可滑动选项。但在 Material3 中,这根本不存在。那么如何在 Material3 中创建一个 Swipeable 呢?如果有人知道请分享。
android kotlin android-jetpack-compose android-jetpack-compose-material3
Android Studio 抛出Unresolved Reference错误ScaffoldStatewith Material3. 我怎样才能让它发挥作用?
import androidx.compose.foundation.clickable
import androidx.compose.material3.*
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.navigation.NavController
import kotlinx.coroutines.launch
@Composable
fun CustomAppBar(
title: String,
backGroundColor: Color = Color.White,
actions: @Composable () -> Unit = { },
scaffoldState: ScaffoldState? = null, // Errors here...
navController: NavController,
) {
val scope = rememberCoroutineScope()
SmallTopAppBar(
title = {
Text(
title,
maxLines = 1,
overflow = TextOverflow.Ellipsis
)
},
colors …Run Code Online (Sandbox Code Playgroud) android material-components-android android-jetpack-compose android-jetpack-compose-material3
Scaffold我在我的函数中使用@Composable。里面content = {我正在使用LazyColumn. 我想要Top Start和Top End转角。像这样的东西
预期输出
我从这里尝试了这段代码,但它不起作用。
package com.example.scrollcompose
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Favorite
import androidx.compose.material.icons.filled.Menu
import androidx.compose.material3.*
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.example.scrollcompose.ui.theme.ScrollComposeTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
ScrollComposeTheme {
// …Run Code Online (Sandbox Code Playgroud) android kotlin android-jetpack android-jetpack-compose android-jetpack-compose-material3
如何修复键盘和 ModalBottomSheet(Compose、material3) 之间的空间?我将焦点放在 TextField 上,键盘出现后遇到了问题。
androidx.compose.material3:material3:1.1.1
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun RenameBottomSheet(
newPersonalizedName: MutableState<String>,
showState: MutableState<Boolean>,
onConfirmClick: () -> Unit
) {
val bottomSheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true)
val suffix = "${newPersonalizedName.value.length}/30"
DragHandleBottomSheet(
bottomSheetState = bottomSheetState,
showState = showState,
dragHandle = {
BottomSheetHeader(
iconResId = R.drawable.ic_edit,
titleResId = R.string.rename
)
}) {
Column(
modifier = Modifier
.background(Theme.colorScheme.bottomBarBackgroundColor)
.padding(16.dp),
horizontalAlignment = Alignment.CenterHorizontally
) {
InputTextField(
modifier = Modifier.fillMaxWidth(),
text = newPersonalizedName.value,
onValueChange = { if (it.length <= 30) newPersonalizedName.value = it },
label …Run Code Online (Sandbox Code Playgroud) kotlin android-jetpack-compose android-jetpack-compose-material3
android-jetpack-compose-material3 ×10
android ×9
kotlin ×3
material-components-android ×2
material-you ×2
material3 ×1