Android: 将 VectorDrawable 添加到 ImageView
Android: Adding a VectorDrawable to an ImageView
所以,我想制作一个带有可点击国家/地区的可滚动世界地图。所以当我发现有 VectorDrawables
之类的东西时,我决定尝试一下。
接下来我做的是从 SVG
中创建一个 VectorDrawable xml
文件并尝试将其放入我的 ImageView
中。在搜索一些信息时,我发现有 101 种方法可以做到这一点,其中 none 对我有用...
有趣的是,当我在 activity.xml
的 ImageView
中添加 "android:src="@raw/worldmap"
时,地图会显示在预览中,但每当我尝试 运行 应用程序时,它崩溃了。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:id="@+id/activity_show_hint"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.bert.myapplication.ShowHintActivity"
android:weightSum="1">
<ImageView
android:id="@+id/img"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fff"
android:scaleType="center"
android:src="@raw/worldmap">
</ImageView>
</LinearLayout>
首先,将您的 VectorDrawable
移动到 Drawable
文件夹(不是原始文件)。然后,将此行添加到您的 Gradle 文件中:
defaultConfig{
vectorDrawables.useSupportLibrary = true
}
最后,在您的 imageView 中,更改为这个;
<ImageView
android:id="@+id/img"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fff"
android:scaleType="center"
app:srcCompat="@drawable/worldmap">
</ImageView>
所以,我想制作一个带有可点击国家/地区的可滚动世界地图。所以当我发现有 VectorDrawables
之类的东西时,我决定尝试一下。
接下来我做的是从 SVG
中创建一个 VectorDrawable xml
文件并尝试将其放入我的 ImageView
中。在搜索一些信息时,我发现有 101 种方法可以做到这一点,其中 none 对我有用...
有趣的是,当我在 activity.xml
的 ImageView
中添加 "android:src="@raw/worldmap"
时,地图会显示在预览中,但每当我尝试 运行 应用程序时,它崩溃了。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:id="@+id/activity_show_hint"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.bert.myapplication.ShowHintActivity"
android:weightSum="1">
<ImageView
android:id="@+id/img"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fff"
android:scaleType="center"
android:src="@raw/worldmap">
</ImageView>
</LinearLayout>
首先,将您的 VectorDrawable
移动到 Drawable
文件夹(不是原始文件)。然后,将此行添加到您的 Gradle 文件中:
defaultConfig{
vectorDrawables.useSupportLibrary = true
}
最后,在您的 imageView 中,更改为这个;
<ImageView
android:id="@+id/img"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fff"
android:scaleType="center"
app:srcCompat="@drawable/worldmap">
</ImageView>