我的应用默认是硬件加速的(android:hardwareAccelerated="true" 在清单中设置)。
我有一个可绘制对象,我将其设置为视图的背景。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="1px"
android:color="#666666" />
<solid android:color="@android:color/transparent" />
</shape>
我也有另一种看法:
<View
android:id="@+id/divider"
android:layout_width="fill_parent"
android:layout_height="1px"
android:background="#666666" />
两者的线宽和颜色应该相同。如果我设置它们是一样的
setLayerType(View.LAYER_TYPE_SOFTWARE, null);
但!如果我没有为具有可绘制背景的视图设置软件层类型,我会得到 2 条不同的线:
- 有颜色背景的线没问题,
- 另一个变成 2px 宽,用 2 种颜色绘制:#333333 和 #191919。
你能帮我么?为什么它会这样?我怎样才能在不禁用硬件加速的情况下解决这个问题?