shape 描边只描边上下

今天遇到了一个描边的问题,用shape描边大家都知道stroke来调。
但是,要求是只描边上边和下边,左边右边不需要,那么就没法了,stroke默认是全部描边。

最后的解决办法是这样的(直接上代码),代码是从另外一个地方看到的呢,出处忘了,不好意思:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:left="-2dp"
        android:right="-2dp">
        <shape>
            <solid android:color="背景色" />

            <stroke
                android:width="1dp"
                android:color="描边色" />
        </shape>
    </item>

</layer-list>
在实现TextView描边的过程中,可以使用drawable文件来定义边框效果。你可以创建一个名为edge.xml的drawable文件,并在其中设置背景色、圆角和边框。例如,可以使用以下代码来定义一个具有描边效果的TextView: ```xml <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 设置背景色 --> <!-- <solid android:color="@color/colorGrey" /> --> <!-- 设置四周圆角 --> <corners android:topLeftRadius="5dp" android:topRightRadius="5dp" android:bottomRightRadius="5dp" android:bottomLeftRadius="5dp"/> <!-- 设置边框 --> <stroke android:width="1dp" android:color="#FFFFFFFF" /> </shape> ``` 然后,在你的布局文件中,将这个drawable文件作为TextView的背景即可实现描边效果。例如: ```xml <androidx.cardview.widget.CardView android:layout_width="210dp" android:layout_height="wrap_content" android:background="@drawable/edge" app:cardElevation="1dp"> <!-- 这里自由发挥,写上你需要填充的控件 --> </androidx.cardview.widget.CardView> ``` 这样,你就可以在TextView周围添加描边效果了。 #### 引用[.reference_title] - *1* *3* [Android 控件描边、加阴影](https://blog.csdn.net/weixin_54723630/article/details/126907993)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [TextView描边、渐变、阴影效果](https://blog.csdn.net/qq_21154101/article/details/103043829)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值