vectoriales vectordrawables usesupportlibrary tool support para imagenes android imageview vectordrawable

android - vectordrawables - Cómo configurar VectorDrawable como una imagen para ImageView mediante programación



vector drawable android gradle (8)

Elimine dos carpetas de su carpeta dibujable y luego reconstruya su proyecto para que funcione correctamente

Quiero configurar algunos vectoresDrawables para un ImageView en Android Studio.

Puedo configurar png y jpg drawable fácilmente, pero cuando quiero configurar VectorDrawable, no funciona en vista de imagen.

img.setImageResource(R.drawable.ic_home);

ic_home es VectorDrawable y este código no funciona.


Para aquellos que desean cargar un vector dibujable programáticamente para otros usos, como establecer un DrawableLeft o de otra manera, puede usar:

Drawable drawable = AppCompatResources.getDrawable(context, drawableRes);

donde el contexto es una AppCompatActivity.


Según el blog oficial de desarrolladores de Android , no hay cambios para el método setImageResource () en el tiempo de ejecución de vectorDrawables.

Si está cambiando los elementos dibujables en el tiempo de ejecución, podrá usar el mismo método setImageResource() que antes, sin cambios allí. Usar AppCompat y app: srcCompat es el método más infalible para integrar vectores dibujables en su aplicación.

Para obtener más detalles, consulte este agradable artículo AppCompat: la antigüedad de los vectores de Google Developer.


Si desea usar vectores dibujables (menos O mayor que API 21) solo haga lo siguiente:

Configure la imagen programáticamente (por ejemplo, en su actividad):

imageView.setImageResource(R.drawable.ic_left_arrow_blue);

o por XML:

app:srcCompat="@drawable/your_vector_name"

En el build.gradle tu aplicación build.gradle incluir:

android { defaultConfig { vectorDrawables.useSupportLibrary = true } }

Y para soporte de vectores por menos de API 21, agregue lo siguiente a onCreate :

AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);


Si le preocupa la compatibilidad con versiones anteriores, debe usar AppCompatImageView lugar de la vista de imagen. Ir a través del código de abajo.

<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" />

Java

AppCompatImageView image = (AppCompatImageView) findViewById(R.id.iv_about); image.setImageResource();

Y servirá la perspectiva de la app:srcCompat .


Tenía un vector en la vista de reciclador. Estaba usando img.setImageResource (R.drawable.ic_home) que no funcionaba correctamente, como alguna otra imagen se formó en algún elemento de la vista de reciclador, luego usé img.setImageDrawable (activity.getResources (). GetDrawable (R.drawable.ic_home)) esto funcionó.


Utilizar esta:

android.support.v7.widget.AppCompatImageButton, android.support.v7.widget.AppCompatImageView, android.support.v7.widget.AppCompatTextView

en lugar de ImageButton , ImageView etc.

Si se usa imagen de tipo vectorial. Principalmente para vistas personalizadas.


para el uso de Java Code:

formate_img.setImageResource(R.drawable.ic_text);//ic_text is a Vector Image

y para uso XML:

<android.support.v7.widget.AppCompatImageView android:id="@+id/search_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:layout_weight="1" ads:srcCompat="@drawable/ic_barcode" //for Vector Image tools:ignore="VectorDrawableCompat" />