我有一个自定义视图,它在某些设备上抛出了不支持的操作异常。它看起来像这样:
java.lang.UnsupportedOperationException
at android.view.GLES20Canvas.clipPath(GLES20Canvas.java:287)
[...]
我知道有 setLayerType 方法,但这仅在 API 级别 11 开始受支持。如何解决 API 级别 8 的此问题?
这是一个类似的线程,但该解决方案对我不起作用,因为我使用的是 API 级别 8。
布局 XML 中定义layerType
。
<com.nth.android.ui.view.CircularProgressBar
android:layout_width="96dp"
android:layout_height="96dp"
android:background="@android:color/white"
android:src="@android:color/black"
android:layerType="software" />
我使用硬件加速不支持的功能的项目将目标 SDK 版本设置为 14,最低 SDK 版本设置为 8。Attribute layerType="software"
适用于Honeycomb(Android 3.2)和Gingerbread(Android 2.3.3)。
此外,在某些情况下,必须为包含相关视图的视图组(布局)设置layerType="software"
。