Android利用shape畫虛線
阿新 • • 發佈:2019-02-11
我們知道,想在Android XML中畫出一條直線,很簡單:
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#FFFFFF"/>
如果想要畫出一條虛線呢?
在drawable目錄下新建bg_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:width="3px" android:color="#FFFFFF" android:dashWidth="10px" android:dashGap="10px" /> </shape>
顯示一條虛線,width為線條的高度,dashWidth為破折線的寬度,dashGap為破折線之間的空隙的寬度,當dashGap=0時,就是實線
注意:
1. 如果在<stroke>標籤中設定了android:width,則在<View>標籤中android:layout_height的值必須大於android:width的值,否則虛線不會顯示。如果不設定,預設android:width為0。
2. 關於4.0以上裝置虛線會變實線的問題:
程式碼中可以新增:
-
line.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
- android:layerType="software"
如上例所示,如果想正常的顯示虛線:
<View
android:layout_width="match_parent"
android:layout_height="4px"
android:layerType="software"
android:background="@drawable/bg_dash_line"/>