Été bloqué sur cela pendant des jours, les choses ne fonctionnent tout simplement pas avec la façon dont je configure cela. J'ai une grande grille d'ImageViews qui sont toutes de la même taille. Il est composé d'un LinearLayout Horizontal et de 5 LinearLayouts Vertical (première image). Ce que je veux (et je m'en fous, que ce soit en utilisant RelativeLayout, Linear ou Tables) est si je devais définir l'image # 2 à une image plus grande (en particulier 3x3 des plus petites) Je le veux pour «écraser» efficacement ces images (comme le montre l'image 2).Android Linéaire/RelativeLayout dimensionnement avec ImageViews
J'ai essayé de le faire en réglant les images 'écrasées' (3,4,7,8,9,12,13,14) sur setVisibility (GONE) qui fonctionne bien, mais le second LinearLayout vertical a été étendu pour s'adapter à la taille de la nouvelle image que je ne veux pas. Si j'essaie de le définir sur fill_parent, il écrase la taille de l'image. En conséquence, ce que je reçois est la troisième image.
Tout le code XML associé (codes d'identification correspondent à ceux sur l'image):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageView android:id="@+id/gs01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs06"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageView android:id="@+id/gs02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs07"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs17"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageView android:id="@+id/gs03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs08"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs13"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs18"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageView android:id="@+id/gs04"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs09"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs19"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageView android:id="@+id/gs05"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs20"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
</LinearLayout>
</LinearLayout>
Si je devais le faire en utilisant RelativeLayouts, je rencontre des problèmes quand je setVisibility (Déplacé) depuis la position peut très bien être référencé en utilisant une vue manquante. Le placer à INVISIBLE laisse juste un espace vide, quand ce que je veux vraiment est effectivement d'être de 0px par 0px de taille.
Toute aide serait appréciée; il semble que peu importe ce que j'essaie, quelque chose va toujours un peu mal avec ça, et ça me rend fou.
Compliqué! O.o Mais content que tu as réussi à le faire fonctionner! – kcoppock