假设有一个视图在使用GPU加速时会出现问题,但只能使用特定的Android版本。
我希望在这个有问题的版本(包括)之前使用android:layerType =“software”,并在此版本之后使用android:layerType =“hardware”,所有这些都在资源内部。
我知道如何使用字符串和简单资源(使用简单的限定符和多个文件),但是如何使用这种资源呢?我应该在哪里看?
我应该只使用“整数”作为资源吗?还是有更好的,更官方的方式?
注意:我知道如何以编程方式执行此操作。我想知道如何在资源范围内做到这一点。
答案 0 :(得分:0)
由于您无法从xml访问View
类的静态常量,因此您应该使用API特定的布局。例如:
RES /布局/ layout.xml
<View
xmlns:android="http://schemas.android.com/apk/res/android"
android:layerType="software"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
RES /布局-V11 / layout.xml:
<View
xmlns:android="http://schemas.android.com/apk/res/android"
android:layerType="hardware"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
您还可以在更大的布局中<include layout="@layout/layout"/>
,这样您就不必复制所有内容。
然而,更清洁的解决方案(特别是如果您需要多次设置layerType
)将是以编程方式设置它。