- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最初用 21
(Lollipop) 的 minsdkversion
编写了这个 SSCCE,它运行良好。 但我需要在 pre-lollipop 中使用 VectorDrawableCompat
。 在 SSCCE 中,XML 布局中有一个 ImageView
,其中图像的来源是在 res/drawable/
目录中定义的矢量图形。
最初,当 minsdkversion
在 list 中设置为 21
时,我使用 android:src="@drawable/vector_circle"
来设置矢量图形作为 ImageView
中图像的来源。这很好用。
然后我将 list 文件中的 minsdkversion
更改为 11
。我还将 ImageView
的 android:src="@drawable/vector_circle"
属性更改为 app:srcCompat="@drawable/vector_circle"
XML 布局。 但我正在接受
Unexpected namespace prefix "app" found for tag ImageView
在 app:srcCompat="@drawable/vector_circle"
行。我应该如何解决这个问题?
SSCCE:
res/drawable/vector_circle.xml:
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="465dp"
android:height="420dp"
android:viewportHeight="600"
android:viewportWidth="600" >
<group>
<path android:strokeColor="#2196F3"
android:strokeWidth="2"
android:pathData="M150,10 L75,200 L225,200 Z" />
</group>
</vector>
activity_main:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/vector_circle" /><!-- app:srcCompat="@drawable/vector_circle" -->
</FrameLayout>
MainActivity.java:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
编辑:
我将 res/layout/activity_main.xml
的 ImageView
元素更改为
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/vector_circle"
tools:ignore="MissingPrefix" />
我还添加了 layout-v21/activity_main.xml
到 res/
目录:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/vector_circle" /><!-- app:srcCompat="@drawable/vector_circle" -->
</FrameLayout>
并将 xmlns:tools="http://schemas.android.com/tools"
添加到 FrameLayout
元素。
预编译错误消失了。但是当我在 Lollipop 设备上运行该应用程序时,矢量图形绘制得非常好,但如果我在 Lollipop 之前的设备上运行该应用程序,应用程序不会失败,但根本不会绘制矢量图形。
最佳答案
要解决此问题,您只需使用可以处理 app:srcCompat
的小部件,即 AppCompatImageView
而不是 ImageView
。
关于android - 如何使用 AppCompat 库中的 VectorDrawableCompat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38409951/
为了在我的 android 项目中使用 SVG 文件,我必须使用 vector compat。 首先,我根据 http://a-student.github.io/SvgToVectorDrawabl
我读过 this文章,但对我来说仍然没有意义。 从 gradle 构建工具 1.5.0 开始,我们可以在应用程序中使用矢量绘图。对于 Lollipop 及以上版本,使用矢量,对于以下操作系统版本,gr
我最初用 21 (Lollipop) 的 minsdkversion 编写了这个 SSCCE,它运行良好。 但我需要在 pre-lollipop 中使用 VectorDrawableCompat。 在
我使用的是 Android Studio 2.1.2。我开始了一个 minSdkVersion 为 19 的新项目。我的 Activity 扩展了 AppCompatActivity。该项目从一个使用
我使用的是支持库版本 24.2.1,并通过 AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); 启用了支持向量 这些关于支持向量的
我的用例是创建启动画面(别问,我只是不得不问)。 我找到了 Ian Lake 的这篇优秀帖子:https://plus.google.com/+AndroidDevelopers/posts/Z1Ww
当我启用时 vectorDrawables.useSupportLibrary = true 我在 KitKat 及以下设备上收到很多 resourceNotFoundExceptions。我为菜单的
我使用这段代码来支持旧设备上的矢量图像: VectorDrawableCompat.create(context.getResources(), resId, context.getTheme());
我在 Android Studio 中创建了一个项目。 即使不修改项目中的任何单个字符,我也无法运行它。它给出以下错误。 java.lang.RuntimeException: Unable to s
VectorDrawableCompat 终于进入了 SDK 23 的支持库。但它似乎不起作用,或者我可能遗漏了什么。 drawable/mypic.xml: fragment_bl
我将 VectorDrawableCompat 设置为 View 的背景。 仅当我点击可绘制对象的非透明区域时,我才需要在此 View 上处理点击。 对于 BitmapDrawable 来说非常简单
我在 Android Studio 中启动了一个新项目并配置了我的 gradle build设置。当我将 android.support.v7.widget.Toolbar 添加到布局时,在设计 Vi
在 Android 模拟器上开始调试我的项目时,我收到此错误: Java.Lang.NoClassDefFoundError: android.support.graphics.drawable.Ve
我有一个 AppWidget,我想在 Lollipop 之前的设备上使用 VectorDrawables。VectorDrawableCompat 不适用于我创建的 RemoteView。 为了减小我
希望有人能帮助我。在 Lollipop 版本上运行我的应用程序时出现此错误: Process: br.com.turbi.turbi, PID: 4279
我是一名优秀的程序员,十分优秀!