相关疑难解决方法(0)

在Android中使用负边距是不好的做法?

负余量演示:

                         在此输入图像描述

场景

通过为其中一个设置负边距来重叠视图,以便它侵入另一个视图的边界框.

思考

它似乎按照你期望的方式工作,如果他们应该重叠布局.但是我不想在不知不觉中做不好的事情遇到更大的问题.模拟器,物理设备,你命名它,当你使用负边距时,一切似乎都正常工作,一个视图侵入另一个视图边界框,并取决于它在布局中声明的方式,它将在另一个视图的上方或下方.

我也知道,自API 21以来我们可以设置translationZelevation 属性使视图显示在其他视图的上方或下方,但我的关注基本上来自这样一个事实,即layout_margin属性的文档中明确指出边缘值应为正,让我引述:

摘录:
指定此视图左侧,顶部,右侧和底部的额外空间.这个空间超出了这个视野的范围.保证金价值应为正数.必须是维值,这是一个附加单位的浮点数,例如"14.5sp".可用的单位是:像素(像素),DP(密度无关的像素),SP(基于优选的字体大小缩放的像素),in(英寸),(毫米)...

在未来的几年,因为最初提出这个问题,我还没有切缘阴性的任何问题,并尽量避免使用它们尽可能多地,但并没有遇到任何问题,所以即使文档指出,我不是太担心它.

user-interface android margins overlap android-layout

109
推荐指数
5
解决办法
6万
查看次数

避免在 jetpack 组合中使用 LazyColumn 的特定子项进行侧边填充

我想删除 中特定子项目的侧边填充LazyColum我在这篇文章的帮助下用 xml 解决了这个问题。我在jetpack compose中有同样的场景。我正在使用Material 3compose_bom = "2022.11.00"的BOM 版本。

    Card(shape = RoundedCornerShape(6.dp),) {
        Column(modifier.background(Color.White)) {
            LazyColumn(
                contentPadding = PaddingValues(all =16.dp),
                verticalArrangement = Arrangement.spacedBy(16.dp),
            ) {
                item {
                    Text(
                        text = "Device Header",
                        modifier = Modifier.padding(top = 10.dp),
                        style = headerTextStyle
                    )
                }

                item {
                    Divider() // remove padding from side in here
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

实际产量

在此输入图像描述

预期输出

在此输入图像描述

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

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