相关疑难解决方法(0)

如何在 Jetpack Compose 中对齐到底部行?

我有一个包含一些行的列,我想在底部对齐最后一行,但该行永远不会位于屏幕底部,它位于上一行之后:

    Column {
        // RED BOX
        Row(
            modifier = Modifier
                .fillMaxWidth()
                .height(130.dp)                
                .padding(vertical = 15.dp, horizontal = 30.dp),
            verticalAlignment = Alignment.CenterVertically
        ) {
            Column {
                Text(
                    text = stringResource(id = R.string.app_name),
                    style = TextStyle(fontSize = 40.sp),
                    color = Color.White
                )
                Text(
                    text = stringResource(id = R.string.app_description),
                    style = TextStyle(fontSize = 13.sp),
                    fontWeight = FontWeight.Bold,
                    color = Color.Black
                )
            }
        }

        Spacer(
            modifier = Modifier
                .fillMaxWidth()
                .height(15.dp)
        )

        // GREEN BOX
        val currentRoute = currentRoute(navController)
        items.forEach { item ->
            DrawerItem(item = …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-jetpack-compose android-jetpack-compose-layout

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

Jetpack Compose - 修饰符顺序

文档说修饰符是从左边应用的。但从这个例子来看,它们似乎是从右侧应用的:首先边框,然后填充,因为文本和边框之间没有空格

Text("Hi there!", Modifier.padding(10.dp).border(2.dp, Color.Magenta))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

android modifier android-jetpack android-jetpack-compose

8
推荐指数
3
解决办法
2449
查看次数

LazyColumn 内的 LazyHorizo​​ntalGrid

我有一个 LazyColumn,在其中我想显示一个包含两列的水平行,所以我尝试 LazyHorizo​​ntalGrid 来实现它。但我的应用程序崩溃了,但有例外 - IllegalArgumentException: LazyHorizontalGrid's height should be bound by parent。下面是我正在使用的代码,任何人都可以帮助修复它或通过任何其他方式我可以使一行有两列。

@Composable
fun HomeItem1() {
    Surface(modifier = Modifier.nestedScroll(rememberViewInteropNestedScrollConnection())) {
        LazyColumn {
            //other contents
            item {
                LazyHorizontalGrid(
                    rows = GridCells.Fixed(3),
                    horizontalArrangement = Arrangement.spacedBy(16.dp),
                    verticalArrangement = Arrangement.spacedBy(16.dp)
                ) {
                    items(arrayList.size) {
                        Text(arrayList[it])
                    }
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

android kotlin android-jetpack android-jetpack-compose

7
推荐指数
1
解决办法
3500
查看次数

如何在不重新组合的情况下获得精确的尺寸?

我需要可组合项的大小来绘制动态线条,但我不想通过以下方式获取大小:

var size by remember { mutableStateOf(IntSize.Zero) }

Modifier.onSizeChanged{size = it}

or

Modifier.onGloballyPositioned{size = it.size}
Run Code Online (Sandbox Code Playgroud)

因为我不想重新组合。

目前我正在从 BoxWithConstraints 获取大小并作为参数传递,如下所示:

fun DrawLines(intSize:IntSize){
// handle lines
}

Run Code Online (Sandbox Code Playgroud)

有没有更好的方法或者这就是我现在能做的?

感谢帮助。

android kotlin android-jetpack-compose

7
推荐指数
1
解决办法
4422
查看次数

Android Compose 中的全屏对话框不占用全屏高度

Dialog(
  properties = DialogProperties(usePlatformDefaultWidth = false),
  onDismissRequest = {viewModel.showDialog.value = false}
){
  Column(modifier = Modifier.width(LocalConfiguration.current.screenWidthDp.dp)
    .height(LocalConfiguration.current.screenHeightDp.dp).background(color = Color.Black.copy(alpha = 1f))) {

  }
}
Run Code Online (Sandbox Code Playgroud)

运行此代码会产生全屏对话框,但高度与屏幕高度不完全匹配。

有没有办法让对话框占据屏幕尺寸的完整宽度和高度?

请找到下面的屏幕截图:

android dialog android-jetpack-compose

5
推荐指数
2
解决办法
4164
查看次数

如何在撰写中为 LazyColumn 实现多个标题和正文元素列表?

我想实现以下布局在此输入图像描述

所有标头(如声明请求的凭据、声明收到的凭据、待处理请求等)都是动态的,并且将来自后端,并且每个标头(如模块 1:... 等)的项目也是动态的。我还需要card封装 Header 和 Body 项目。

这是我尝试过的

LazyColumn(
        modifier = Modifier
            .offset(x = 0.dp, y = 110.dp)
            .fillMaxSize()
            .background(
                shape = RoundedCornerShape(topStart = 20.dp, topEnd = 20.dp),
                color = MaterialTheme.colors.primaryVariant
            )
            .padding(12.dp)
    ) {
        itemsIndexed(
            listOf(
                "Claim requested credentials",
                "Claim received credentials",
                "Pending Requests"
            )
        ) { index, item ->
            Card(
                modifier = Modifier
                    .fillMaxWidth()
                    .statusBarsPadding()
                    .background(
                        color = MaterialTheme.colors.primaryVariant,
                        shape = RoundedCornerShape(10.dp)
                    )
                ,elevation = 20.dp,
                contentColor = MaterialTheme.colors.primaryVariant,
                backgroundColor = MaterialTheme.colors.primaryVariant
            ) {
                Column(modifier …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-jetpack-compose

4
推荐指数
1
解决办法
2486
查看次数