Android shape畫虛線,不顯示或者顯示是實線的解決方案
阿新 • • 發佈:2019-01-24
Android 的 shape可以用來實現一些簡單的影象,如直線(實線、虛線)、圓、矩形、圓角矩形、邊框等。
4.4以及以前的版本shape是能正常顯示一條虛線的,最經碰到在5.0的手機上顯示的是直線,或者沒有顯示的問題。這是是兩個問題。
首先先貼一下程式碼:
問題一:不顯示<?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="#0049ff" android:dashGap="3dp" android:dashWidth="6dp" /> <!-- 虛線的高度 --> <size android:height="1dp" /> </shape>
這個先編輯預覽的時候就可以看出門,不必執行到手機或者模擬器上。
原因是View的高度不大於 虛線的高度;
問題二:為什麼顯示的是直線
這個涉及到系統版本
解決方案有兩種:1、在程式碼中解決:view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);把這句加點相應的程式碼中;
2、在 AndroidManifest.xml中解決,android:hardwareAccelerated="false" 加點相應的Activity處即可。