Partage
  • Partager sur Facebook
  • Partager sur Twitter

Petit problème de Layout

Sujet résolu
25 juin 2013 à 23:14:18

Salut a tous,

je fait mes premiers pas dans la programmation sur android et je rencontre mon premier problème:erreur android

C'est peut être un petit détail mais j'aimerais bien que le Nom de mon TextView soit aligné à mon EditText.

Voici mon code:

    <TextView
        android:id="@+id/textNom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/Nom"  />    
     
    

    <EditText 
        android:id="@+id/Nom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="@string/Nom"
        android:layout_toRightOf="@id/textNom"
        android:layout_alignParentRight="true" />

</RelativeLayout>

J'ai pensé a faire un layout contenant mes 2 widget et de centrer mon TextView dans ce layout, mais ça n'a pas marché. Merci

-
Edité par lecodeurphp 25 juin 2013 à 23:21:21

  • Partager sur Facebook
  • Partager sur Twitter
26 juin 2013 à 0:45:47

As-tu essayé de faire un LinearLayout?
  • Partager sur Facebook
  • Partager sur Twitter
26 juin 2013 à 10:40:48

Bonjour,

Essaye d'ajouter un gravity:verticla_center à ton textview

  • Partager sur Facebook
  • Partager sur Twitter
26 juin 2013 à 11:28:14

Si ton relative layout ne contient que ces deux éléments, tu peux utiliser un merge:

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">    
    <EditText
        android:id="@+id/Nom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="@string/Nom"
        android:layout_gravity="center_vertical|right"/>
    <TextView
        android:id="@+id/textNom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/Nom" 
        android:layout_gravity="center_vertical" />    
</merge>

 Si tu veux garder ton RelativeLayout tu peux faire comme ceci:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="100dip">    
    <EditText
        android:id="@+id/Nom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="@string/Nom"
        android:layout_centerVertical="true"
        android:layout_alignParentRight="true"/>
    <TextView
        android:id="@+id/textNom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/Nom"  
        android:layout_centerVertical="true"/>    
</RelativeLayout>



-
Edité par freetibet 26 juin 2013 à 11:30:10

  • Partager sur Facebook
  • Partager sur Twitter
26 juin 2013 à 12:17:46

Merci pour toutes vos réponses, je vais les tester. par contre ayant déjà, programmé en C++, j'aurais bien aimé créer plusieurs Layout, est-ce possible de faire un grand Layout qui contient plein de petit Layout?
  • Partager sur Facebook
  • Partager sur Twitter
26 juin 2013 à 12:29:36

oui grace au RelativeLayout, qui permettent de positionner les vues filles les une par rapport aux autres, le LinearLayout pour les positionner l'une après les autres (vertical ou horizontal), les framelayout, les une par dessus les autres sans prendre en compte le positionnement les une par rapport au autres.

attention, plus il y a de layouts et de vues, plus il y a du travail pour afficher la vue à l'écran, plus l'application mettra de temps à afficher le rendu.

-
Edité par freetibet 26 juin 2013 à 12:30:33

  • Partager sur Facebook
  • Partager sur Twitter
26 juin 2013 à 13:26:47

Ok merci,

je pense qu'en rajoutant d'autre élement ces 2 widget se positionneront bien mais si je veux affichez que ces 2 widgets en haut je pourrais faire comme ça?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="100dip">    
  <RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">    
   
    <EditText
        android:id="@+id/Nom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="@string/Nom"
        android:layout_centerVertical="true"
        android:layout_alignParentRight="true"/>
    <TextView
        android:id="@+id/textNom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/Nom"
        android:layout_centerVertical="true"/>   
  </RelativeLayout> 
</RelativeLayout>

En faisant comme ça mes 2 widgets sont regroupés dans un Layout qui a la taille de ces 2 widgets et donc il serait centré en hauteur par rapport a EditTExt.

Voila, je sais pas si je me suis bien exprimée en tout cas merci a toi de m'avoir aidé.   ----------------------------------------------------------------------------------------------------------------------------------

 Le code suivant marche par contre il me dit que mon deuxième RelativeLayout est useless.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <EditText
            android:id="@+id/Nom"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/textNom"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:hint="@string/Nom" />

        <TextView
            android:id="@+id/textNom"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:text="@string/Nom" />
    </RelativeLayout>

</RelativeLayout>
C'est pas bien grave, tant que ça marche c'est bon. Merci a tous pour vos messages.

-
Edité par lecodeurphp 26 juin 2013 à 19:22:01

  • Partager sur Facebook
  • Partager sur Twitter