Aller au contenu

TableLayout / Etendre case / View custom


Pierre87

Recommended Posts

J'essaye de faire un TableLayout un peu bizarre :

La première ligne ne contient que 1 seule case, qui prend toute la place possible en hauteur et en largeur.

La deuxième et dernière ligne essaye de prendre une taille fixe en hauteur (50 px ou dip).

Elle contient 2 cases qui essayent de prendre chacune la moitié de la largeur.

Chaque case contient une View "custom" : dérivé de ImageView, ou directement View.

(ce sont des classes dans mon projet, je sais comment les ajouter au layout xml)

Elles n'ont pas vraiment de taille définie, mais elles essaye de s'adapter au "conteneur" en prenant toute la place disponible.

Dans les tests que j'ai fait pour le moment, mes Views sont "écrasées" sur la hauteur (toute plate).

Question : on fait comment ? :D

Je me plante peut être de Layout, mais je vois pas trop lequel utiliser sinon ...

Merci

Lien vers le commentaire
Partager sur d’autres sites

j'ai trouvé un moyen de le faire :

   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   xmlns:android="http://schemas.android.com/apk/res/android">
       android:layout_weight="1">
           class="org.pierre.remotedroid.client.view.ControlImageView"
           android:id="@+id/ControlImageView"
           android:layout_weight="1"
           android:layout_height="fill_parent" />


           class="org.pierre.remotedroid.client.view.ClickView"
           android:layout_weight="1"
           android:layout_height="40dip" />
           class="org.pierre.remotedroid.client.view.ClickView"
           android:layout_weight="1"
           android:layout_height="40dip" />


Mais je ne trouve pas ça très propre...

40 dip est répété 2 fois

De plus, à l'exécution, ma 2eme ClickView disparait, et la 1ere s'étend dessus

Quelqu'un pourrait m'aider sur ce point ?

Merci

Modifié par Pierre87
Lien vers le commentaire
Partager sur d’autres sites

quand j'utilises le weight, je mets la caractéristique qui varie à 0dip avant. Ca devrait fonctionner, il n'y a pas de raison que ca n'aille pas chez toi...

Pour tes 40 dip, je n'ai jamais utilisé de tablelayout ( mea culpa) mais j'utilise un layout découpé horizontalement et je lui fixerais sa hauteur de 40 dip.... ( mais c'est encore moins propre)

Modifié par Profete162
Lien vers le commentaire
Partager sur d’autres sites

Voilà !

J'ai quelque chose qui marche :

   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical">
       class="org.pierre.remotedroid.client.view.ControlImageView"
       android:id="@+id/ControlImageView"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:layout_weight="1" />
       android:layout_width="fill_parent"
       android:layout_height="60dip"
       android:orientation="horizontal">
           class="org.pierre.remotedroid.client.view.ClickView"
           android:layout_width="fill_parent"
           android:layout_height="fill_parent"
           android:layout_weight="1" />
           class="org.pierre.remotedroid.client.view.ClickView"
           android:layout_width="fill_parent"
           android:layout_height="fill_parent"
           android:layout_weight="1" />


Il y a surement des choses inutile, et j'apprécierai qu'on me corrige.

Sinon, j'ai un peu du mal à voir l'intérêt et le fonctionnement du android:layout_weight

Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...
C'est ce que j'avais essayé de dire au post 4, mais c'est vrai que j'avais pas été tres clair....

oui, je n'avais pas bien compris à l'époque

mais ça marchait quand même, donc j'avais laissé la taille à "fill_parent"

En travaillant plus tard sur un layout avec des weight variables, je me suis aperçu que j'avais des problèmes.

Et on m'a dit clairement de mettre la taille à "0dp"

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...