Android share绘制虚线在手机上显示实线问题
给控件添加Drawableleft等图片后,单独给图片设置动画效果,参考文章:
http://blog.****.net/langzxz/article/details/47069235
效果未测试。
原文博客链接:http://wv1124.iteye.com/blog/2187204
博客分类:
可以说这是一个Bug, 据说在4.0以上机器会出现,我测试是android 4.4.2
- <?xml version="1.0" encoding="utf-8"?>
- <shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="line" >
- <stroke
- android:dashGap="3dp"
- android:dashWidth="8dp"
- android:width="1dp"
- android:color="#999999" />
- <size android:height="1dp" />
- </shape>
layout中引用:
- <View
- android:layout_width="match_parent"
- android:layout_height="3dp"
- android:layout_marginBottom="5dp"
- android:layout_marginTop="5dp"
- android:background="@drawable/left_menu_dash_line" />
在4.4.2上显示实线。
解决:
- <View
- android:layerType="software"
- android:layout_width="match_parent"
- android:layout_height="3dp"
- android:layout_marginBottom="5dp"
- android:layout_marginTop="5dp"
- android:background="@drawable/left_menu_dash_line" />
重点:
- android:layerType="software"
也可以:
- <activity android:name=".TestActivity" android:label="Test"
- android:hardwareAccelerated="false">
重点关闭硬件加速:
- android:hardwareAccelerated="false"
divider_under_pic.setLayerType(View.LAYER_TYPE_SOFTWARE,null);
代码中使用setLayerType设置。
参考:
http://developer.android.com/guide/topics/graphics/hardware-accel.html