Aplicación dibujable de Android: srcCompat no muestra imágenes

Estoy usando la biblioteca de soporte para mostrar imágenes vectoriales en Android Kitkat. Cuando pruebo mi aplicación en Emulater, no veo ninguna de estas imágenes. Hice un diseño separado para Android lollipop y superior y funcionó a la perfección (creo que porque estoy usando el atributo src lugar de srcCompat Aquí está el código donde estoy usando la biblioteca de soporte

      

y es extraño porque veo las imágenes en la ventana de vista previa de android studio.

Respuesta original

Utilice android.support.v7.widget.AppCompatImageView lugar de ImageView como este:

     

Consulte los documentos de AppCompatImageView aquí y la appc:srcCompat aquí .

Además, asegúrese de hacer lo siguiente:

Configura tu build.gradle

 android { defaultConfig { vectorDrawables { useSupportLibrary = true } } } 

Documentos: https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.VectorDrawablesOptions.html#com.android.build.gradle.internal.dsl.VectorDrawablesOptions: useSupportLibrary

Extienda su Activity con AppCompatActivity

 public final class MainActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } } 

Al usar la app:srcCompat , asegúrese de tener las declaraciones correctas en su diseño:

  ...  

Opcional (advertencia: lea los documentos): setCompatVectorFromResourcesEnabled en su clase de Application

 public class App extends Application { @Override public void onCreate() { super.onCreate(); // Make sure we use vector drawables AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); } } 

Documentos: https://developer.android.com/reference/android/support/v7/app/AppCompatDelegate.html#setCompatVectorFromResourcesEnabled(boolean)

Tuve un problema similar y después de seguir todos los pasos de la respuesta de Jared Burrows, el problema no se resolvió.

Resulta que el espacio de nombres de la “aplicación” dentro de mi archivo de diseño se configuró como:

 xmlns:app="http://schemas.android.com/tools" 

en lugar de:

 xmlns:app="http://schemas.android.com/apk/res-auto" 

Después de cambiar esto, el problema se solucionó

utilizar:

 android:background="@drawable/circle_icon" 

en lugar de:

 app:srcCompat="@drawable/circle_icon" 

Además, asegúrate de que los vectores drawable-anydpi ubicados en drawable y no en drawable-anydpi .

drawable-anydpi a menudo con problemas si los gráficos se encuentran en la carpeta drawable-anydpi .