最近有一個需求要自己定義的View畫一條虛線 , 參考了網上各位前輩的範例,
Canvas怎麼畫都是直線 , 最終查到一篇, 原來是硬體加速造成的問題.
DashPathEffect/drawLine not working properly when hardwareAccelerated="true"
https://code.google.com/p/android/issues/detail?id=29944
關掉hardwareAccelerated
(1)只關掉這一個View的硬體加速
mycustomView = (MyCustomView) findViewById(R.id.mask); mycustomView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
(2)關掉整個App的硬體加速
在manifest.xml中
android:hardwareAccelerated=false
(3) 只關閉單一個Activity中的硬體加速
<activity
android:hardwareAccelerated="false" />
</application>
沒有留言:
張貼留言