一直以為android的shape能畫直線。虛線。矩形,圓形等。畫直線也就算了。用一個view設一下高度和顏色,就能夠出來一條直線了。所以說這個對我來說常常不用,圓形是能夠,看看我應用里的消息提示框都是這樣生成的。好了,這個不存在問題。今天想要做是一條虛線,什么也不說了,直接上虛線的代碼:
<?xml version="1.0" encoding="utf-8"?
> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line"> <!-- 顯示一條虛線,破折線的寬度為dashWith,破折線之間的空隙的寬度為dashGap。當dashGap=0dp時,為實線 --> <stroke android:width="1dp" android:color="#D5D5D5" android:dashWidth="2dp" android:dashGap="3dp" /> <!-- 虛線的高度 --> <size android:height="2dp" /> </shape>
解釋的好完美,真要不是不自己試,預計一輩子都會相信這是真的了,結果是放到手機里,從來沒有出現過什么線條,對於像我一樣追求完美的人來說,自然不會放過這一個細節,在網上找了大半天,有的小伙伴們也遇到了,而且也攻克了,但是把他們的方法拿過來后。都一個也不好使,實際情況是還是不能顯示,總結一下小伙伴們的解決方法吧
1.從android3.0開始,安卓關閉了硬件加速功能。所以就不能顯示了,所以就是在 AndroidManifest.xml。或者是在activity中把硬件加速的功能關掉就能夠了android:hardwareAccelerated="false"或者是view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
2.一個小伙伴的翻譯。說什么height要大於dashWidth才干顯示。
我都按他們的方法試了,根本都不行,
所以要想真正的實現還是老老實實的自己去畫一條虛線吧。
1.從android3.0開始,安卓關閉了硬件加速功能。所以就不能顯示了,所以就是在 AndroidManifest.xml。或者是在activity中把硬件加速的功能關掉就能夠了android:hardwareAccelerated="false"或者是view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
2.一個小伙伴的翻譯。說什么height要大於dashWidth才干顯示。
我都按他們的方法試了,根本都不行,
所以要想真正的實現還是老老實實的自己去畫一條虛線吧。