Android实现水平虚线和竖直虚线

水平虚线

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="line">
    <stroke
        android:width="1dp"
        android:color="#747474"
        android:dashWidth="6dp"
        android:dashGap="3dp" />
</shape>

竖直虚线

思路一:

先写横虚线,然后再通过旋转获得竖直虚线

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:left="-60dp"
        android:right="-60dp">
        <rotate android:drawable="@drawable/line_horizontal"
                android:visible="true"
                android:fromDegrees="90"/>
    </item>
</layer-list>

这个地方为啥需要设置left和right是-60dp呢?

假如我们想显示的竖直的线的高度是120dp,我的view的宽度是10dp水平方向上能显示的虚线的宽度就是10dp,当旋转90度后所能显示的高度也只有10dp,所以我们需要设置左右都为-60dp的偏移量,这样他在先画水平线的时候,由于负的偏移量(就和负的margin一样),就可以画出120dp长的线,然后再旋转,就可以得到一条竖直虚线。

思路二:

先画一个虚线方框,然后再拿一个色块将不需要的部分挡住

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!--先画一个虚线方框-->
    <item>
        <shape android:shape="rectangle">
            <size android:width="4dp" />
            <stroke
                android:width="2dp"
                android:color="@color/lesson_schedule_bg"
                android:dashGap="4dp"
                android:dashWidth="10dp" />
        </shape>
    </item>
    <!--再画一个白色色块将虚线方框的部分挡住,只剩下左边一条虚线边-->
    <item android:left="2dp">
        <shape android:shape="rectangle">
            <solid android:color="#FFFFFF" />
        </shape>
    </item>
</layer-list>

参考文章:
https://www.jianshu.com/p/8d384490a180
https://blog.csdn.net/greenredshark/article/details/80927506

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android绘制竖直虚线完美解决方案—自定义View 开发中我们经常会遇到绘制虚线的需求,一般我们使用一个dra...
    tinyvampirepudg阅读 5,211评论 2 3
  • 一、CSS入门 1、css选择器 选择器的作用是“用于确定(选定)要进行样式设定的标签(元素)”。 有若干种形式的...
    宠辱不惊丶岁月静好阅读 1,652评论 0 6
  • 最近,网上的鸡汤文充斥着各种撩汉、撩妹字眼,简书首页就看到过好几次。我不知所谓的撩是何意,或许跟爱情无关,因为真爱...
    简姝k阅读 233评论 0 0
  • 看妻子的浪漫旅行,起初以为陈丽莎很久没有出来工作,会和社会脱节,变的很不适应,但是因为她勇敢爱,勇敢表现爱,勇敢认...
    执羽阅读 185评论 0 0
  • 我见过很多人的被动或主动的选择,把生活从平路走进曲折,却通过这段崎岖迎来了人生的坦途。 像很多年前见过的一位大叔,...
    希瑞不是格格阅读 278评论 0 1