android边框能只定义左边框吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android边框能只定义左边框吗相关的知识,希望对你有一定的参考价值。
android虽然提供了四个属性, 但是目前这四个无论设置哪个都是影响到四个的。 如果确实有必要的话,那可以通过以下变态手法达到。 在上面放一个独立的控件,然后另外一个矩形放在那个控件的上层。 这里应该要用到层布局。给view设置边框的代码:
1.创建xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
2.设置<!-- 圆角 -->
<corners
android:radius="9dp"
android:topLeftRadius="2dp"
android:topRightRadius="2dp"
android:bottomLeftRadius="2dp"
android:bottomRightRadius="2dp"/><!-- 设置圆角半径 -->
3.设置<!-- 渐变 -->
<gradient
android:startColor="@android:color/white"
android:centerColor="@android:color/black"
android:endColor="@android:color/black"
android:useLevel="true"
android:angle="45"
android:type="radial"
android:centerX="0"
android:centerY="0"
android:gradientRadius="90"/>
4.设置<!-- 间隔 -->
<padding
android:left="2dp"
android:top="2dp"
android:right="2dp"
android:bottom="2dp"/><!-- 各方向的间隔 -->
5.设置大小精细<!-- 大小 -->
<size
android:width="50dp"
android:height="50dp"/><!-- 宽度和高度 -->
6.设置<!-- 填充 -->
<solid
android:color="@android:color/white"/><!-- 填充的颜色 -->
7.设置边框<!-- 描边 -->
<stroke
android:width="2dp"
android:color="@android:color/black"
android:dashWidth="1dp"
android:dashGap="2dp"/>
</shape> 参考技术A android虽然提供了四个属性, 但是目前这四个无论设置哪个都是影响到四个的。 如果确实有必要的话,那可以通过以下变态手法达到。 在上面放一个独立的控件,然后另外一个矩形放在那个控件的上层。 这里应该要用到层布局。本回答被提问者采纳 参考技术B android边框是通过drawable来配置的
1
2
3
4
5
6
7
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="#FFFFFF" /> //背景色
<stroke
android:width="1dp" //边框线粗细
android:color="#000000" /> //边框线颜色
</shape> 参考技术C border: 1px solid #ffffff;这个是定义一个边框,它本身不存在内外边框之分,是有内外边距;padding: 1px;设定内容到内边距的距离为一个像素,相反的margin:1px;设定的是外边距;如果想让这个方框外面加一个框,那就重新加一个div;
SwiftUI间隙左边距并更改列表项底部边框的颜色
【中文标题】SwiftUI间隙左边距并更改列表项底部边框的颜色【英文标题】:SwiftUI gap left margin and change color of List item's bottom border 【发布时间】:2020-10-11 21:55:44 【问题描述】:我是 SwiftUI 的新手,正在尝试创建一个 UI 组件,例如 UITableView。我正在使用 List,有几件事我想自定义。
-
左边有一个边距。我设法将项目内部组件的边距拉开,而不是底部边框。
我想更改列表项底部边框的颜色。
我的代码如下所示:
List
ForEach(someArray) _ in
Text("Item")
.listRowInsets(EdgeInsets()) // To gap the left margin
为了具体说明列表项的底部边框,我将附上这张图片。
我的意思是红色箭头指向的线是列表项的底部边框。不仅是最后一个边框,还有每个项目的边框。
如果有任何见解,我将不胜感激。谢谢!
【问题讨论】:
【参考方案1】:SwiftUI 仍然缺少一些 UIKit 已知的功能。这肯定会随着时间的推移而改变,但现在我会推荐一种稍微不同的方法。您可以通过将ScrollView
与LazyVStack
(iOS14) 结合使用来实现所需的结果
ScrollView
LazyVStack(alignment: .leading)
ForEach(someArray, id: \.self) _ in
Text("Item")
.padding(.leading)
Divider()
.background(Color.red)
【讨论】:
感谢您的回复。我想到了scrollview和vstack的组合。我想试试 List,但现在我会听取你的建议。以上是关于android边框能只定义左边框吗的主要内容,如果未能解决你的问题,请参考以下文章
Android layer-list stroke 单边边框 指定边边框