0

我有一个自定义视图,它会在某些设备上引发 UnsupportedOperationException。它看起来像这样:

 java.lang.UnsupportedOperationException
     at android.view.GLES20Canvas.clipPath(GLES20Canvas.java:287)
     [...]

我知道有 setLayerType 方法,但这仅在 API 级别 11 之后才受支持。如何解决 API 级别 8 的问题?

这是一个类似的线程,但该解决方案对我不起作用,因为我使用的是 API 级别 8。

4

1 回答 1

2

您可以layerType在布局 XML 中定义。

<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。属性layerType="software"适用于 Honeycomb (Android 3.2) 和 Gingerbread (Android 2.3.3)。

此外,在某些情况下layerType="software",必须为包含相关视图的视图组(布局)设置。

于 2012-09-26T15:20:39.347 回答