如何在< code>Jetpack Compose中添加边距?
我看到有一个< code >修饰符用于填充< code >修饰符。padding(...)但是我好像找不到一个作边距还是我瞎了?
有人指导我吗?
非常感谢。
您也可以使用垫片:
Spacer(modifier = Modifier.width(10.dp))
它表示空白空间布局,其大小可以使用< code>Modifier.width 、< code>Modifier.height和< code>Modifier.size修饰符来定义。
假设你想在2个可组合物之间添加边距,那么你可以把它实现为
Text(
text = stringResource(id = R.string.share_your_posters),
fontSize = 16.sp,
color = Color.Black
)
Spacer(modifier = Modifier.width(10.dp))
Image(painter = painterResource(id = R.drawable.ic_starts), contentDescription = null)
从填充和边距的角度考虑,您指的是我们习惯的所谓框模型。Comuse中没有框模型,而是应用于给定组合的一系列修饰符。诀窍是您可以多次应用相同的修饰符,如填充或边界以及这些事项的顺序,例如:
kotlin prettyprint-override">@Composable
fun PaddingExample() {
Text(
text = "Hello World!",
color = Color.White,
modifier = Modifier
.padding(8.dp) // margin
.border(2.dp, Color.White) // outer border
.padding(8.dp) // space between the borders
.border(2.dp, Color.Green) // inner border
.padding(8.dp) // padding
)
}
结果,您将得到这个可组合的:
此设计在修饰符留档中有很好的解释:
注意:显式顺序有助于您推断不同修饰符的交互方式。将其与基于视图的系统进行比较,在该系统中,您必须学习长方体模型,边距应用于元素的“外部”,但填充在元素的“内部”,并且背景元素的大小将相应调整。修改器设计使此类行为明确且可预测,并为您提供更多控制以实现所需的准确行为。
你可以把填充和边距看成一个东西(想象成“间距”)。填充可以在同一个composable中应用两次(或更多次),并实现与边距填充类似的行为。例如:
val shape = CircleShape
Text(
text = "Text 1",
style = TextStyle(
color = Color.White,
fontWeight = FontWeight.Bold,
textAlign = TextAlign.Center),
modifier = Modifier.fillMaxWidth()
.padding(16.dp)
.border(2.dp, MaterialTheme.colors.secondary, shape)
.background(MaterialTheme.colors.primary, shape)
.padding(16.dp)
)
将导致:
如您所见,第一个填充
是在组件与其边框之间添加一个空格。然后定义背景和边框。最后,设置一个新的填充
以在边框和文本之间添加空间。
问题内容: 我有一个Jtable,我想通过在行上添加边框来突出显示行。我已经扩展了a,并且我认为需要在该方法中完成工作。 我猜想是因为似乎没有行的概念,所以我需要为行中的单个单元格创建自定义边框。类似于第一个单元格的左侧,顶部和底部,所有内部单元格的顶部和底部,以及该行中最后一个单元格的顶部,底部和右侧。我在寻找如何实际执行思考过程方面遇到问题。我不确定如何使用该方法,或者这是否就是我需要采取的方
我想在布局底部添加边框。我知道我可以使用可组合,但我只想学习如何绘制边框。 目前,我可以为所有侧面添加边框,这不是我想要的
我使用的是flatter,我想给一个小部件添加一个边框(在本例中是widget)。 我尝试了和,但没有看到如何添加边框。
有什么方法可以让我创建带有圆形边框的自定义弹出窗口?这是我目前的代码和设计:
我的场景是在单个查询中在顶点之间添加多条边: 假设下面的节点:这些是我拥有的标签和ID 用户: 4100 歌曲: 4200 4355 4676 我必须在这些顶点之间建立边 我们通常可以通过在节点之间创建单条边来实现。如果我们想一次在50多个顶点之间创建边,这不是一种有效的方法。我正在使用Tinkerpop 3.0.1。
我只需要添加一个边距顶部,这样,如果我的图像是用这个js: 我知道这可能很简单,但我是个初学者。希望有人能教我怎么做。谢谢!