Ham*_*ezi 45 android imageview android-vectordrawable
我想在Android Studio 中将一些vectorDrawables设置为ImageView.
我可以轻松设置png和jpg drawable,但是当我想设置VectorDrawable时,它在imageview上不起作用.
img.setImageResource(R.drawable.ic_home);
Run Code Online (Sandbox Code Playgroud)
ic_home是VectorDrawable,此代码不起作用.
小智 101
如果要使用矢量drawable(比API 21更少OR),请执行以下操作:
以编程方式设置图像(例如在您的活动中):
imageView.setImageResource(R.drawable.ic_left_arrow_blue);
Run Code Online (Sandbox Code Playgroud)
或者通过XML:
app:srcCompat="@drawable/your_vector_name"
Run Code Online (Sandbox Code Playgroud)
在您的应用中,build.gradle
您需要包括:
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
Run Code Online (Sandbox Code Playgroud)
对于少于API 21的矢量支持,请将以下内容添加到onCreate
:
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
Run Code Online (Sandbox Code Playgroud)
Jaw*_*poo 21
对于那些想要以编程方式加载矢量drawable用于其他用途的人,例如设置drawableLeft或其他用途,您可以使用:
Drawable drawable = AppCompatResources.getDrawable(context, drawableRes);
Run Code Online (Sandbox Code Playgroud)
上下文是AppCompatActivity.
Pri*_*tel 17
根据官方的android开发人员博客,vectorDrawables在运行时没有对setImageResource()方法进行任何更改.
如果你在运行时更改drawables,你将能够 像以前一样使用相同的 setImageResource()方法 - 没有更改.使用AppCompat和app:srcCompat是将矢量绘图集成到应用程序中最简单的方法.
有关更多详细信息,请查看这篇精彩的文章AppCompat - Google Developer 的向量年龄.
san*_*mar 12
如果您关注向后兼容性,那么您应该使用AppCompatImageView
pf图像视图.仔细阅读下面的代码.
<android.support.v7.widget.AppCompatImageView
android:id="@+id/iv_about"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
app:srcCompat="@drawable/ic_vector_image"
/>
Run Code Online (Sandbox Code Playgroud)
java的
AppCompatImageView image = (AppCompatImageView) findViewById(R.id.iv_about);
image.setImageResource(R.drawable.ic_vector_image);
Run Code Online (Sandbox Code Playgroud)
它将服务于视角AppCompatImageView
.
归档时间: |
|
查看次数: |
47801 次 |
最近记录: |