请注意,我确实参考了在这里创建一个破折线问题以及通过Google进行的各种搜索...无论如何,问题就是这样。我无法通过xml绘制虚线(可以使用DashPathEffect,但不想继续这样做)。这是我使用的破折号(dash_line.xml):
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">
<stroke
android:color="@color/whiteColor"
android:dashWidth="10dp"
android:width="10dp"
android:dashGap="4dp"/>
</shape>
现在,然后在xml中为imageview实现:
<ImageView
android:id="@+id/dash_test"
android:layout_width="200dp"
android:layout_height="10dp"
android:background="@drawable/dash_line"/>
我正在使用Android API 18.我甚至通过设置图层类型(在xml中尝试并以编程方式)禁用清单中的硬件加速甚至视图本身。我通过查看dashView.isHardwareAccelerated()验证它是错误的。有什么想法我错过了吗?
编辑: 我可以顺便画出实线,所以我知道它不是一个分层问题。
编辑: 一个解决方法是使用PathDashEffect。虽然那时你会遇到无法在图像上绘制的问题(我需要这样做)。所以...仍然想要一个xml解决方案。
答案 0 :(得分:2)
尝试在software
中将layerType
设为ImageView
:
<ImageView
android:layerType="software"
...
/>