2011-03-09 1 views
2

J'essaie de créer une mise en page à deux colonnes avec des lignes et une ligne en bas. Jusqu'à présent, j'ai réalisé deux colonnes avec des lignes, mais je n'arrive pas à comprendre comment afficher la ligne du bas. Ce qui suit est mon code, en commentaire est que je suis en train d'ajouter la rangée du basMise en page XML Android - Deux colonnes avec des lignes et une rangée du bas

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/tracker_id" 
android:orientation="horizontal" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@drawable/background" 
android:padding="10dp"> 

<!-- <ScrollView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="60dip"> --> 

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" 
    android:gravity="center_horizontal" 
    android:background="#ffffff"> 
    <ImageView 
     android:id="@+id/icon" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentBottom="true" 
     android:layout_centerVertical="true" 
     android:layout_marginRight="6dip" 
     android:src="@drawable/ic" /> 
    <Button 
     android:id="@+id/stop_button" 
     android:text="@string/stop" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_centerInParent="true" 
     android:paddingLeft="50dp" 
     android:paddingRight="50dp" 
     android:enabled="true" /> 
    <Button 
     android:id="@+id/pause_button" 
     android:text="@string/pause" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_centerInParent="true" 
     android:paddingLeft="50dp" 
     android:paddingRight="50dp" 
     android:enabled="true" /> 
    <ImageView 
     android:id="@+id/icon2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentBottom="true" 
     android:layout_centerVertical="true" 
     android:layout_marginRight="6dip" 
     android:src="@drawable/ic2" /> 
</LinearLayout> 

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" 
    android:gravity="center_horizontal" 
    android:background="#000000"> 
    <TextView 
     android:text="some text" 
     android:textSize="15pt" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textColor="#ffffff" 
     android:gravity="right" /> 
    <TextView 
     android:text="more text" 
     android:textSize="15pt" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textColor="#ffffff" 
     android:gravity="right" /> 
</LinearLayout> 

<!-- </ScrollView> 

<RelativeLayout 

    android:layout_width="fill_parent" 
    android:layout_height="60dip" 
    android:layout_marginTop="-55dp" 
    > 
    <TextView 
     android:text="Bottom" 
     android:textSize="15pt" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:textColor="#ffffff" /> 
</RelativeLayout> --> 

</LinearLayout> 

Bellow est la mise en page que je suis en train de réaliser

 
--------------------- 
| icon  text | 
| button  text | 
| button  text | 
| icon  text | 
|     | 
| more more text | 
--------------------- 

Répondre

3

Vous devez tout envelopper dans un troisième LinearLayout avec l'orientation = "vertical" et ajoutez votre TextView au fond de celui-ci.

Dans pseudo-layout:

<LinearLayout vertical> 
    <LinearLayout horizontal> 
     <LinearLayout vertical> 
      ... column 1 ... 
     </LinearLayout> 
     <LinearLayout vertical> 
      ... column 2 ... 
     </LinearLayout> 
    </LinearLayout> 
    <TextView/> 
</LinearLayout> 

C'est parce que vous voulez que votre TextView pour être verticalement vers le bas vos colonnes.

+0

do Nous avons donc mis l'icône, le bouton, le bouton et l'icône dans ce que vous Labellisé "colonne1". Et tout le texte à l'intérieur "colonne2"? –

0

Avez-vous essayé d'utiliser TableLayout au lieu d'un LinearLayout pour les champs icône/bouton/texte qui composent votre grille. Vous pouvez le situer de manière à ce qu'il ait deux colonnes et que plusieurs lignes soient nécessaires. (Si ce n'est pas un arrangement statique, et que vous souhaitez faire défiler les champs icône/bouton/texte au fur et à mesure que d'autres sont ajoutés, vous pouvez envisager une disposition ListView avec des vues de disposition définies par l'utilisateur ... avoir deux ici, une avec un bouton et le texte posé horizontalement, et un avec une icône et un texte posé horizontalement). Puis, utilisez un LinearLayout horizontal sous le TableLayout pour la dernière ligne avec les mêmes dimenstions de largeur que TableLayout défini (semble que vous voulez qu'il couvre les deux colonnes que vous avez faites)?

+0

Je n'ai pas essayé le TableLayout, mais je ne pense pas que cela corresponde à mes besoins et je ne prévois pas non plus de le faire défiler. La colonne de gauche n'est pas liée à la colonne de droite. Dans mon exemple, il m'est arrivé de mettre 4 éléments dans chaque colonne. Mais merci pour votre réponse – esausilva

0

Essayez ceci:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/tracker_id" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:padding="10dp"> 
<!-- <ScrollView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="60dip"> --> 
    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 
     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content"> 
      <TextView 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="Education/Health" 
       android:textColor="#FE9A2E"/> 
      <TextView 
       android:id="@+id/tot_val" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="$60" 
       android:textColor="#FE9A2E" 
       android:layout_marginLeft="5dp"/> 
     </LinearLayout> 
     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 
      <TableLayout 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content"> 
       <TableRow 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"> 
        <TextView 
         android:layout_width="0dp" 
         android:layout_height="wrap_content" 
         android:layout_weight="1" 
         android:text="Frequency" 
         android:textColor="#000" 
         android:layout_marginLeft="5dp"/> 
        <TextView 
         android:id="@+id/freq_spinner" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="Monthly" 
         android:textColor="#FE9A2E" 
         android:layout_marginRight="5dp"/> 
       </TableRow> 
       <TableRow 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"> 
        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="Amount" 
         android:textColor="#000" 
         android:layout_marginLeft="5dp" 
         android:layout_weight="1"/> 
        <TextView 
         android:id="@+id/amount_edit" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="$20" 
         android:textColor="#FE9A2E" 
         android:layout_marginRight="5dp"/> 
       </TableRow> 
       <TableRow 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"> 
        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="Quarterly Amount" 
         android:textColor="#000" 
         android:layout_marginLeft="5dp"/> 
        <TextView 
         android:id="@+id/quarter_edit" 
         android:layout_width="0dp" 
         android:layout_height="wrap_content" 
         android:text="$60" 
         android:textColor="#FE9A2E" 
         android:gravity="center" 
         android:layout_weight="1"/> 
        <TextView 
         android:id="@+id/quarter_edit" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="$60" 
         android:textColor="#FE9A2E" 
         android:layout_marginRight="5dp" 
         /> 
       </TableRow> 
      </TableLayout> 
     </LinearLayout> 
    </LinearLayout> 
<!-- <LinearLayout 
    android:orientation="vertical" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" 
    android:gravity="center_horizontal" 
    android:background="#ffffff"> 
    <Button 
     android:id="@+id/stop_button" 
     android:text="stop" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_centerInParent="true" 
     android:paddingLeft="50dp" 
     android:paddingRight="50dp" 
     android:enabled="true" /> 
    <Button 
     android:id="@+id/pause_button" 
     android:text="pause" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_centerInParent="true" 
     android:paddingLeft="50dp" 
     android:paddingRight="50dp" 
     android:enabled="true" /> 
    <ImageView 
     android:id="@+id/icon2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentBottom="true" 
     android:layout_centerVertical="true" 
     android:layout_marginRight="6dip" 
     android:src="@drawable/ic_launcher" /> 
</LinearLayout> 

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" 
    android:gravity="center_horizontal" 
    android:background="#000000"> 
    <TextView 
     android:text="some text" 
     android:textSize="15pt" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textColor="#ffffff" 
     android:gravity="right" /> 
    <TextView 
     android:text="more text" 
     android:textSize="15pt" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textColor="#ffffff" 
     android:gravity="right" /> 
</LinearLayout> --> 

<!-- </ScrollView> 

<RelativeLayout 

    android:layout_width="fill_parent" 
    android:layout_height="60dip" 
    android:layout_marginTop="-55dp" 
    > 
    <TextView 
     android:text="Bottom" 
     android:textSize="15pt" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:textColor="#ffffff" /> 
</RelativeLayout> --> 

</LinearLayout> 
Questions connexes