首页 > 代码库 > android用shape画虚线,怎么也不显示
android用shape画虚线,怎么也不显示
一直以为android的shape能画直线,虚线,矩形,圆形等,画直线也就算了,用一个view设一下高度和颜色,就可以出来一条直线了。所以说这个对我来说经常不用,圆形是可以,看看我应用里的消息提示框都是这样生成的,好了,这个不存在问题,今天想要做是一条虚线,什么也不说了,直接上虚线的代码:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line"> <!-- 显示一条虚线,破折线的宽度为dashWith,破折线之间的空隙的宽度为dashGap,当dashGap=0dp时,为实线 --> <stroke android:width="1dp" android:color="#D5D5D5" android:dashWidth="2dp" android:dashGap="3dp" /> <!-- 虚线的高度 --> <size android:height="2dp" /> </shape>
解释的好完美,真要不是不自己试,估计一辈子都会相信这是真的了,结果是放到手机里,从来没有出现过什么线条,对于像我一样追求完美的人来说,自然不会放过这一个细节,在网上找了大半天,有的小伙伴们也遇到了,并且也解决了,可是把他们的方法拿过来后,都一个也不好使,实际情况是还是不能显示,总结一下小伙伴们的解决方法吧
1.从android3.0开始,安卓关闭了硬件加速功能,所以就不能显示了,所以就是在 AndroidManifest.xml,或者是在activity中把硬件加速的功能关掉就可以了android:hardwareAccelerated="false"或者是view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
2.一个小伙伴的翻译,说什么height要大于dashWidth才能显示。
我都按他们的方法试了,根本都不行,
所以要想真正的实现还是老老实实的自己去画一条虚线吧。
1.从android3.0开始,安卓关闭了硬件加速功能,所以就不能显示了,所以就是在 AndroidManifest.xml,或者是在activity中把硬件加速的功能关掉就可以了android:hardwareAccelerated="false"或者是view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
2.一个小伙伴的翻译,说什么height要大于dashWidth才能显示。
我都按他们的方法试了,根本都不行,
所以要想真正的实现还是老老实实的自己去画一条虚线吧。
android用shape画虚线,怎么也不显示
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。