标签: android-jetpack-compose-material3

无法在android compose Material3中使用rememberScaffoldState()

我想用

记住脚手架状态()

在android Material3 compose中,但无法使用它。

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun AppFeatureScreen(viewModel: AppFeatureViewModel = viewModel()) {
    val scaffoldState = rememberScaffoldState()
    Scaffold() {

    }
}
Run Code Online (Sandbox Code Playgroud)

android kotlin material-components-android android-jetpack-compose android-jetpack-compose-material3

38
推荐指数
3
解决办法
2万
查看次数

如何在 Material 3 Jetpack Compose Android 中实现 BottomSheet

我知道如何使用 Material 2 Jetpack Compose 实现 BottomSheet BottomSheetScaffold

但Material 3中没有BottomSheetScaffold。而且,官方样本中也没有关于BottomSheet的内容。

android kotlin android-jetpack-compose android-jetpack-compose-material3

33
推荐指数
4
解决办法
2万
查看次数

如何在 Android Compose 中设置 Material3 卡的背景颜色?

我尝试使用backgroundColor参数在 Android Jetpack Compose 中设置 Material3 卡的背景颜色。

实现 'androidx.compose.material3:material3:1.0.0-alpha14'

// * Card with background color argument
            Card(
                modifier = Modifier
                    .fillMaxWidth()
                    .padding(16.dp),
                //set background color of the card
                backgroundColor = Color.Gray,
                content = {
                    Text("Card with background color argument", modifier = Modifier.padding(16.dp),style = MaterialTheme.typography.labelLarge)
                }
            )
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:找不到具有此名称的参数:backgroundColor 在此输入图像描述

android android-jetpack-compose android-jetpack-compose-material3

26
推荐指数
2
解决办法
2万
查看次数

Compose TopAppBar 没有背景色

我想TopAppBar向我的 Compose 应用程序添加一个,所以我执行了以下操作:

@OptIn(ExperimentalMaterial3Api::class)
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            AlternoTubeTheme {
                // A surface container using the 'background' color from the theme
                Surface(
                    modifier = Modifier.fillMaxSize(),
                    color = MaterialTheme.colorScheme.background
                ) {
                    Scaffold(
                        topBar = {
                            TopAppBar(
                                title = {
                                    Text(
                                        stringResource(id = R.string.app_name),
                                        maxLines = 1,
                                        overflow = TextOverflow.Ellipsis
                                    )
                                },
                            )
                        },
                        content = { innerPadding ->
                            MyAppTheme(modifier = Modifier.padding(innerPadding))
                        }
                    )
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

问题是,当我运行应用程序时,我的TopAppBar

在此输入图像描述

而在预览图像上,应用栏确实有颜色:

在此输入图像描述

接下来我可以尝试什么来获得正确的颜色?

android kotlin android-jetpack-compose android-jetpack-compose-material3

17
推荐指数
2
解决办法
1万
查看次数

Jetpack Compose ExusedDropdownMenu 按下时不显示

我正在开发 Jetpack Compose (1.3.0-beta03) 和 Material3 (1.0.0-beta03) 应用程序。

我想向用户展示一个具有不同语言的简单下拉菜单,并且以下代码与您在网上找到的代码没有太大不同:

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun Settings() {
    val languages = listOf("it", "en", "de", "ro", "fr", "es")

    var expanded by remember { mutableStateOf(false) }
    var selectedOptionText by remember { mutableStateOf("ro") }

    ExposedDropdownMenuBox(
        modifier = Modifier.padding(16.dp),
        expanded = expanded,
        onExpandedChange = { expanded = !expanded },
    ) {
        TextField(
            readOnly = true,
            value = selectedOptionText,
            onValueChange = {},
            label = { Text(stringResource(R.string.default_reading_language)) },
            trailingIcon = { ExposedDropdownMenuDefaults.TrailingIcon(expanded = expanded) },
            colors = ExposedDropdownMenuDefaults.textFieldColors(),
            modifier = …
Run Code Online (Sandbox Code Playgroud)

android android-jetpack-compose android-compose-textfield android-jetpack-compose-material3 android-compose-exposeddropdown

16
推荐指数
1
解决办法
5008
查看次数

Jetpack Compose Material3 拉动刷新功能

我正在尝试按照本指南将项目从 Material2 规范迁移到 Material 3 撰写库。

目前Material2中的LazyColumn已经集成了Pull刷新功能,可以在这里找到

但是,我没有找到 Material3 的任何此类功能。这里有一个开放的问题跟踪器,但他们说这个功能只会在今年年中才会被考虑,等待的时间太长了。

有谁知道这种情况应该如何处理?拉动刷新是我们应用程序用户流程的重要流程,因此没有它不是一个选项。

accompanist/swipeToRefresh即使它已被弃用,我们还应该使用吗?

我还不精通编写自定义组合组件,因此任何帮助解决这个问题的帮助将不胜感激

android material-design android-jetpack-compose android-jetpack-compose-material3

16
推荐指数
1
解决办法
7174
查看次数

Jetpack Compose 更改滑块拇指尺寸

有没有办法改变滑块拇指大小?我认为现在我们只能操纵颜色

var sliderPosition by remember { mutableStateOf(0f) }
Text(text = sliderPosition.toString())
Slider(
    value = sliderPosition,
    onValueChange = { sliderPosition = it },
    valueRange = 0f..100f,
    onValueChangeFinished = {
        // launch some business logic update with the state you hold
        // viewModel.updateSelectedSliderValue(sliderPosition)
    },
    steps = 5,
    colors = SliderDefaults.colors(
        thumbColor = MaterialTheme.colors.secondary,
        activeTrackColor = MaterialTheme.colors.secondary
    )
)
Run Code Online (Sandbox Code Playgroud)

Jetpack-Compose 滑块

android slider seekbar-thumb android-jetpack-compose android-jetpack-compose-material3

14
推荐指数
2
解决办法
1万
查看次数

使用 Jetpack Compose 轮廓创建芯片

我有以下可组合函数来构建芯片:

@Composable
fun CategoryChip(
  category: String,
  isSelected: Boolean = false,
  onSelectedCategoryChanged: (String) -> Unit,
  onExecuteSearch: () -> Unit
) {
  Surface(
    modifier = Modifier.padding(end = 8.dp, bottom = 8.dp),
    elevation = 8.dp,
    shape = RoundedCornerShape(16.dp),
    color = when {
      isSelected -> colorResource(R.color.teal_200)
      else -> colorResource(R.color.purple_500)
    }
  ) {
    Row(modifier = Modifier
      .toggleable(
        value = isSelected,
        onValueChange = {
          onSelectedCategoryChanged(category)
          onExecuteSearch()
        }
      )) {
      Text(
        text = category,
        style = MaterialTheme.typography.body2,
        color = Color.White,
        modifier = Modifier.padding(8.dp)
      )
    }
  }
} …
Run Code Online (Sandbox Code Playgroud)

android android-chips android-jetpack-compose android-jetpack-compose-material3

13
推荐指数
3
解决办法
1万
查看次数

如何在 Compose 中设置底部工作表的半展开比例?

在 XML 中,我们有 Material3 底部工作表。它允许我们设置底部工作表的行为。它可以像这样更新:

bottomSheetBehavior.halfExpandedRatio = 0.6
bottomSheetBehavior.state = BottomSheetBehavior.STATE_HALF_EXPANDED
Run Code Online (Sandbox Code Playgroud)

我正在将项目迁移到 Compose。我的应用程序将这个半展开比例用于 3 个定位的底部工作表:折叠、半展开、展开。现在我正在尝试创建这样的底表:

val sheetState = rememberBottomSheetState(
        initialValue = BottomSheetValue.Collapsed
    )
    val scaffoldState = rememberBottomSheetScaffoldState(
        bottomSheetState = sheetState
    )
BottomSheetScaffold(
        scaffoldState = scaffoldState,
        sheetContent = {}
) {}
Run Code Online (Sandbox Code Playgroud)

但看起来我们这里没有这些行为属性。我们能否获得与 XML 中具有一半展开的底部表相同的行为?

android kotlin bottom-sheet android-jetpack-compose android-jetpack-compose-material3

13
推荐指数
1
解决办法
2602
查看次数

12
推荐指数
1
解决办法
6000
查看次数