在API 21+上使用带srcCompat的VectorDrawables将Android支持库更新至23.2.0;
棒极了,现在pre-lollipop设备可以通过支持库23.2.0使用VectorDrawables。虽然我在API21+上有图像显示问题,但在较低的设备上一切正常。我使用的是Gradle插件1.5,因此我的build.Gradle包含以下内容:在API 21+上使用带srcCompat的VectorDrawables将Android支持库更新至23.2.0;,android,android-imageview,android-support-library,android-vectordrawable,Android,Android Imageview,Android Support Library,Android Vectordrawable,棒极了,现在pre-lollipop设备可以通过支持库23.2.0使用VectorDrawables。虽然我在API21+上有图像显示问题,但在较低的设备上一切正常。我使用的是Gradle插件1.5,因此我的build.Gradle包含以下内容: // Gradle Plugin 1.5 android { defaultConfig { generatedDensities = [] } // This is handled for you by
// Gradle Plugin 1.5
android {
defaultConfig {
generatedDensities = []
}
// This is handled for you by the 2.0+ Gradle Plugin
aaptOptions {
additionalParameters "--no-version-vectors"
}
}
然后在布局中使用下一个代码:
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:srcCompat="@drawable/my_vector_drawable" />
但Android Studio仍然显示了这个错误,但项目可以构建并运行
为标记ImageView找到意外的命名空间前缀“app”
这就是我在Android 4.3上得到的结果:
和安卓5.1:
这是新支持库的错误还是我做错了什么
为标记ImageView找到意外的命名空间前缀“app”
您必须在布局中声明名称空间(通常在根元素中):
要解决图像缩放问题,您是否尝试将
scaleType='fitXY'
设置为您的ImageView
(您现在可以安全地忽略该Lint错误,也可以将tools:ignore=“MissingPrefix”
添加到您的ImageView中)
xmlns:app="http://schemas.android.com/apk/res-auto"
<ImageView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:srcCompat="@drawable/my_vector_drawable" />