1. 程式人生 > >Android shape畫虛線,不顯示或者顯示是實線的解決方案

Android shape畫虛線,不顯示或者顯示是實線的解決方案

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處即可。