画一条虚线

作者: Gzw丶南山 | 来源:发表于2017-06-20 20:26 被阅读27次

先说题外话,今天下午去面试了,我还是挺喜欢面试我的那个人的,也觉得那家公司很不错,But,我表现的好差,要 GG 了...

不过事后复盘(这词会不会太耀眼了哈哈哈)一下,问题其实都不算难,只是我很多还没有去仔细看过,比如问了:Android 系统架构(这我竟然记不住...每一本入门书第一章都会讲这个)、XML 的解析方式以及它们的区别、Socket等等,不过我回答的上面这些问题我回答的并不是很好。

真的是入门书的第一章内容

虽然技术问题跪了,但是其它方面我觉得聊得还时挺不错的,感觉对方公司的想法很好,而且在面对面交流的时候,面试官的口头表达能力能不错,聊着很舒服,而我虽然也在尽力表达自己的观点但却显得有点力不从心。

面试机会对我来说还是比较稀少的,而如果每一次都拿它来试错和学习,这样成本是非常高的,所以也就是面试前一定要做好充足的准备,当我认为自己已经准备的很充分的时候,其实只是自己认为的充分,而不是真的。

说回今天内容,画一条虚线,是在 Android 中画一条虚线,先来看看效果图:

效果图.png

Android 对于我们画各种形状的支持其实很完善的,不过这里就不一一介绍了,不过去看官方文档才能看的更全面,地址如下:

https://developer.android.com/guide/topics/resources/drawable-resource.html?hl=zh-cn

如果想要实现一个虚线的效果,只需要创建一个类似这样的 xml 即可。

<?xml version="1.0" encoding="utf-8"?>
<!-- 这是一个 shape,它可以用于画各种形状,且指定这里画的是一条线 -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="line">

    <!-- dashWidth 表示一条线段的宽度 -->
    <!-- dashGap 表示线段之间的的宽度 -->
    <!-- color 表示线的颜色 -->
    <!-- width 表示线的宽度 -->
    <stroke
        android:color="#999999"
        android:dashGap="20dp"
        android:dashWidth="10dp"
        android:width="100dp"/>

</shape>

当然 android:dashWidth 与 android:dashGap 互相依赖,所以就必须同时存在,当我们画一条虚线,其实就是无数的线段,而线段间的间距就是用 android:dashGap 来表示的,android:dashWidth 用来表示每条短线段的宽度,而 width 用来指定这条线整体的宽度,所以上面的效果其实最终是这样的:

效果图.png

当然写完之后我就很自信的运行了,结果啥也没有,Nothing,我感到十分心疼,不过后来我懂了运来是的我 View 的高度不够,当我的 View 高度超过虚线高度后才会显示出来,但这时显示额度竟然是一条直线!我靠说好的虚线呢?

于是乎我只能求助 Google,并解决这个问题。参考地址如下:

http://blog.chenming.info/blog/2012/09/18/android-hardware-accel/

解决方法就是加一行代码即可: android:layerType="software",原因是因为硬件加速,而这个代码只是针对 View 的解决方案,其实可以针对 Application、Activity、Window。

代码.png

记一次虚线踩坑,不过虚线画起来好好玩,哈哈哈...

相关文章

  • Android shape图形

    画一条虚线

  • 画一条虚线

    先说题外话,今天下午去面试了,我还是挺喜欢面试我的那个人的,也觉得那家公司很不错,But,我表现的好差,要 GG ...

  • iOS 画一条虚线

    原理:创建一个UILabel的子类,重写的他的drawRect方法,在上下文中画一条虚线。这个Label中就有一条...

  • iOS 画一条虚线

    CAShapeLayer *shapeLayer = [CAShapeLayer layer];shapeLaye...

  • iOS 画虚线

    在所需要的view上画一条虚线,重写下面的方法即可 -(void)drawRect:(CGRect)rect{ [...

  • 虚线自行车

    在画一辆自行车, 是由虚线构成的。

  • 夏末倾心丨第三辑丨部落诗声〔十五〕

    …………………………………………088 丨跨过一条虚线丨…………………………………………每跨过一条虚线就会逢着一个...

  • iOS两种绘制虚线的方法

    个人CSND 一、绘制单条的虚线 二、给一个控件添加虚线 1、绘制单条的虚线 样式1:------- 2、给一个控...

  • 作业秀(92)一米字格

    米字格,即方格内印有“米”字形虚线的格。 由横中虚线、竖中虚线、和两条对角斜虚线组成。 米字格多在临摹书法时使用,...

  • css 画六边形,三角形,消息框

    css 画一个虚线的六边形思路:1. 先画一个虚线的长方形只有上下边框2. 再画两个只有上线上右边框的正方形3. ...

网友评论

    本文标题:画一条虚线

    本文链接:https://www.haomeiwen.com/subject/juvnqxtx.html