2017-10-17 5 views
-3

La disposition suivante fonctionne uniquement si je supprime tous les ImageViews dans RelativeLayouts.erreur typique dans la mise en page suivante?

Si j'ajoute un ImageView, l'application cesse de fonctionner.

Je travaille sur un projet et j'ai besoin d'insérer un ImageView dans chaque RelativeLayout.

Aidez-moi avec ce problème.

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView 
    android:layout_height="match_parent" 
    android:layout_width="match_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

    <LinearLayout 
     android:layout_height="match_parent" 
     android:layout_width="match_parent" 
     android:orientation="vertical" 
     android:id="@+id/ll_menu" 
     android:background="#F8F5B7" 
     android:padding="20dp" 
     xmlns:android="http://schemas.android.com/apk/res/android"> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="100dp" 
      android:id="@+id/r1" 
      android:background="@color/colorPrimary" 
      android:padding="10dp"> 

      <ImageView 
       android:layout_width="100dp" 
       android:layout_height="100dp" 
       android:id="@+id/img1" 
       android:src="@drawable/img1"/> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_toRightOf="@+id/img1" 
       android:fontFamily="serif-monospace" 
       android:text="Layout 1" 
       android:layout_centerVertical="true" 
       android:textAlignment="center" 
       android:textColor="#fff" 
       android:textSize="30sp" 
       android:textStyle="bold" /> 

     </RelativeLayout> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="100dp" 
      android:id="@+id/r2" 
      android:background="@color/colorPrimary" 
      android:layout_marginTop="20dp" 
      android:padding="10dp"> 

      <ImageView 
       android:layout_width="100dp" 
       android:layout_height="100dp" 
       android:id="@+id/img2" 
       android:src="@drawable/img2"/> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:fontFamily="serif-monospace" 
       android:text="Layout 2" 
       android:layout_toRightOf="@+id/img2" 
       android:layout_centerVertical="true" 
       android:textAlignment="center" 
       android:textColor="#fff" 
       android:textSize="30sp" 
       android:textStyle="bold" /> 

     </RelativeLayout> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="100dp" 
      android:background="@color/colorPrimary" 
      android:id="@+id/r3" 
      android:layout_marginTop="20dp" 
      android:padding="10dp"> 

      <ImageView 
       android:layout_width="100dp" 
       android:layout_height="100dp" 
       android:id="@+id/img3" 
       android:src="@drawable/img3"/> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:fontFamily="serif-monospace" 
       android:text="Layout 3" 
       android:layout_toRightOf="@+id/img3" 
       android:layout_centerVertical="true" 
       android:textAlignment="center" 
       android:textColor="#fff" 
       android:textSize="30sp" 
       android:textStyle="bold" /> 

     </RelativeLayout> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="100dp" 
      android:id="@+id/r4" 
      android:layout_marginTop="20dp" 
      android:background="@color/colorPrimary" 
      android:padding="10dp"> 

      <ImageView 
       android:layout_width="100dp" 
       android:layout_height="100dp" 
       android:id="@+id/img4" 
       android:src="@drawable/img4"/> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:fontFamily="serif-monospace" 
       android:text="Layout 4" 
       android:layout_toRightOf="@+id/img4" 
       android:layout_centerVertical="true" 
       android:textAlignment="center" 
       android:textColor="#fff" 
       android:textSize="30sp" 
       android:textStyle="bold" /> 

     </RelativeLayout> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="100dp" 
      android:id="@+id/r5" 
      android:background="@color/colorPrimary" 
      android:layout_marginTop="20dp" 
      android:padding="10dp"> 

      <ImageView 
       android:layout_width="100dp" 
       android:layout_height="100dp" 
       android:id="@+id/img5" 
       android:src="@drawable/img5"/> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:fontFamily="serif-monospace" 
       android:text="Layout 5" 
       android:layout_toRightOf="@+id/img5" 
       android:layout_centerVertical="true" 
       android:textAlignment="center" 
       android:textColor="#fff" 
       android:textSize="30sp" 
       android:textStyle="bold" /> 

     </RelativeLayout> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="100dp" 
      android:background="@color/colorPrimary" 
      android:id="@+id/r6" 
      android:layout_marginTop="20dp" 
      android:padding="10dp"> 

      <ImageView 
       android:layout_width="100dp" 
       android:layout_height="100dp" 
       android:id="@+id/img6" 
       android:src="@drawable/img6"/> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:fontFamily="serif-monospace" 
       android:layout_toRightOf="@+id/img6" 
       android:text="Layout 6" 
       android:layout_centerHorizontal="true" 
       android:layout_centerVertical="true" 
       android:textAlignment="center" 
       android:textColor="#fff" 
       android:textSize="30sp" 
       android:textStyle="bold"/> 

     </RelativeLayout> 

    </LinearLayout> 

</ScrollView> 
+2

Veuillez écrire le code en ligne et non des références. Et que dit votre LogCat? –

+0

pourquoi vous mettez toute la disposition relative dans la disposition linéaire –

+0

supprimer votre xmlns: espace de nom android dans la mise en page linéaire et également dans la mise en page relative à d'autres vues utiliser @id pas @ + id également poster votre chat pour les autres pour regarder l'erreur –

Répondre

0

Vous devez être trouvé OutOfMemoryError. Essayez de charger une version réduite de vos images.

Par exemple, il ne vaut pas le chargement d'une image de 1024x768 pixels en mémoire si elle finira par être affiché dans une miniature de pixel 128x96 dans un ImageView

Note: Essayez d'utiliser l'image fortement recommandé bibliothèques de chargement comme Glide ou Picasso pour charger des images dans la mémoire. Ces deux viennent avec beaucoup de fonctionnalités & optimisations.

+0

Y at-il un moyen que je peux configurer mon application Android pour choisir automatiquement la version de haute qualité de l'image si l'appareil est de haute densité. Je suis un débutant dans le développement Android, donc je ne sais pas beaucoup. –

+0

pas que je sache, mais vous pouvez le faire manuellement –