利用layer-list和shape实现下划线效果

Posted BennuCTech

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用layer-list和shape实现下划线效果相关的知识,希望对你有一定的参考价值。

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

    <item
        android:left="-4dp"
        android:right="-4dp"
        android:top="-4dp">
        <shape>
            <solid android:color="#00FFFFFF" />

            <stroke
                android:width="2dp"
                android:color="#ebedfb" />
        </shape>
    </item>

</layer-list>

因为shape如果形状设为line,则是居中的,可以做分割线,但是无法做下划线。

比如我们想为TextView设置一个背景,实现下划线。

需要用layer-list,因为shape的stroke是四周描边的,这里android:left="-4dp"就是指item的drawable(就是shape)从整个画布的-4dp开始绘制,

这样其实显示在画布中的shape就没有左边了,同理,上左右都这么处理就只剩下底边,就实现了下划线效果

关注公众号:BennuCTech,获取更多干货!

以上是关于利用layer-list和shape实现下划线效果的主要内容,如果未能解决你的问题,请参考以下文章

Android layer-list的属性和使用详解(阴影边框效果)

关于shape和selector和layer-list的drawable详细说明

layer-list简单使用以及shape的定义

画三角形shape layer-list

Android可绘制对象资源之shape和layer-list使用

解决Android Studio下Element layer-list must be declared问题