小编Chi*_*may的帖子

如果 Jetpack Compose 中的文本太长,图标会消失

@Composable
fun TopAppBar(
    name: String,
    modifier: Modifier = Modifier
) {
    Row(
        modifier = modifier
            .fillMaxWidth()
            .padding(20.dp, 0.dp),
        verticalAlignment = Alignment.CenterVertically,
        horizontalArrangement = Arrangement.SpaceBetween
    ) {
        Icon(
            imageVector = Icons.Default.ArrowBack,
            contentDescription = "Back",
            tint = Color.Black,
            modifier = Modifier.size(24.dp)
        )
        Text(
            text = name,
            overflow = TextOverflow.Ellipsis,
            fontWeight = FontWeight.Bold,
            fontSize = 20.sp,
            maxLines = 1
        )

        Row {
            Icon(
                painter = painterResource(id = R.drawable.ic_bell),
                contentDescription = null,
                tint = Color.Black,
                modifier = Modifier
                    .padding(8.dp, 8.dp)
                    .size(24.dp)
            )
            Icon(
                painter …
Run Code Online (Sandbox Code Playgroud)

android android-jetpack-compose android-jetpack-compose-row android-jetpack-compose-layout android-compose-layout

5
推荐指数
1
解决办法
1753
查看次数

如果我不将其包装在其他容器中,为什么 Surface 子项可兼容填充最大尺寸?

如果我指定尺寸为 ,则此代码将填满整个屏幕100.dp

ComposeTheme {
    Surface(
        modifier = Modifier.fillMaxSize(),
        color = MaterialTheme.colors.background
    ) {
        Box(
            modifier = Modifier
                .width(100.dp)
                .height(100.dp)
                .clip(RoundedCornerShape(12.dp))
                .background(color = Color.Red)
        ) {

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

该代码通过填充所需的大小来正常运行。

ComposeTheme {
    Surface(
        modifier = Modifier.fillMaxSize(),
        color = MaterialTheme.colors.background
    ) {
        Column(modifier = Modifier.fillMaxSize()) {
            Box(
                modifier = Modifier
                    .width(100.dp)
                    .height(100.dp)
                    .clip(RoundedCornerShape(12.dp))
                    .background(color = Color.Red)
            ) {

            }
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下为什么会发生这种情况吗?

android android-jetpack-compose

5
推荐指数
1
解决办法
2007
查看次数

如何在 compose 中正确加载 svg 图像?

我试图在 Jetpack compose 中加载 SVG 文件,但当我在手机上运行它时,它变成了黑色。

在此输入图像描述

这是我手机上的图像。

在此输入图像描述

我不想使用tint修改器,因为它将以单一颜色加载 SVG。

android android-jetpack android-jetpack-compose

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