2012-06-01 1 views
0

J'ai conçu une mise en page XML comme dans cette image:Alignement de la disposition de la table?

the four buttons in table layout

je placer également les quatre boutons dans l'écran, mais je ne parviens pas à le faire fonctionner. J'ai essayé tous les changements possibles auxquels je peux penser. Voici le XML de la mise en page:

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="40dp" 
    android:id="@+id/buttonlayout" 
    android:layout_alignBottom="@id/framelayout"> 


<TableLayout 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
xmlns:android="http://schemas.android.com/apk/res/android"> 

<TableRow> 

    <Button 
    android:id="@+id/previous" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/previous_icon" /> 

<Button 
    android:id="@+id/button_startprint" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/print_icon" 
    android:padding="10dp" /> 

<Button 
    android:id="@+id/button_cam" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/cam_icon" 
    android:padding="10dp" /> 

<Button 
    android:id="@+id/next" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/next_icon" 
    android:hapticFeedbackEnabled="true"/> 

</TableRow> 
</TableLayout> 
</RelativeLayout> 

Quelqu'un peut-il m'aider?

+1

salut @ jxgn que vous voulez faire dans Verticalement ???? – itsrajesh4uguys

+0

non. horizontalement – jxgn

+0

salut @ jxgn j'ai ajouté le code dans edit .. check it out .. espérons qu'il vous aidera. – itsrajesh4uguys

Répondre

1

Salut jxgn utiliser ce code:

<?xml version="1.0" encoding="UTF-8"?> 
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <TableRow 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" > 

     <LinearLayout 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" > 

      <Button 
       android:id="@+id/previous" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/ic_launcher" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" > 

      <Button 
       android:id="@+id/button_startprint" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/ic_launcher" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" > 

      <Button 
       android:id="@+id/button_cam" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/ic_launcher" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" > 

      <Button 
       android:id="@+id/next" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/ic_launcher" /> 
     </LinearLayout> 
    </TableRow> 

</TableLayout> 
+0

merci :) a fait l'affaire :) – jxgn

+0

vous êtes toujours les bienvenus ....... – itsrajesh4uguys

1

utilisation android:layout_weight=1 et utiliser android:layout_width="0dp" pour faire des boutons de poids égaux ..

EDIT par exemple définir votre bouton comme

<Button 
     android:id="@+id/button_cam" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight=1 
     android:background="@drawable/cam_icon" 
     android:padding="10dp" /> 
+0

merci :) mais les images sont étirées. Y a-t-il quelque chose que je puisse faire pour ça? – jxgn

1

Si vous définissez l'androïde d'attribut: poids = "1 "pour les quatre boutons, ils doivent être espacés correctement car TableRow est une sous-classe de LinearLayout. Pour de meilleures performances, il est conseillé d'utiliser Android: layout_width = "0dp".

0

Essayez de mettre à chaque bouton:

android:layout_weight="0.25" 

Espérons que cela déjà travailler pour vous

0

Essayez cela, il est utile

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/buttonlayout"  > 


<TableLayout 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
xmlns:android="http://schemas.android.com/apk/res/android"> 

<TableRow> 

    <Button 
    android:id="@+id/previous" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/ic_launcher" 
    android:layout_weight="1"/> 

<Button 
    android:id="@+id/button_startprint" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/ic_launcher" 
    android:layout_weight="1" 
    /> 

<Button 
    android:id="@+id/button_cam" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/ic_launcher" 
    android:layout_weight="1"  /> 

<Button 
    android:id="@+id/next" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/ic_launcher" 
    android:layout_weight="1"  /> 

    </TableRow> 
    </TableLayout> 
    </RelativeLayout> 
1

Essayez de remplacer tous vos boutons largeur avec layout_width="0dp" et ajouter

Essayez d'utiliser 9 patch image pour éviter le fait que l'image s'étirer

<TableRow> 

     <Button 
     android:id="@+id/previous" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:background="@drawable/ic_menu_compass" 
     android:layout_weight="1" /> 

    <Button 
     android:id="@+id/button_startprint" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:background="@drawable/ic_menu_mylocation" 
     android:padding="10dp" 
     android:layout_weight="1"/> 

    <Button 
     android:id="@+id/button_cam" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:background="@drawable/ic_menu_mapmode" 
     android:padding="10dp" 
     android:layout_weight="1" /> 

    <Button 
     android:id="@+id/next" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:background="@drawable/ic_menu_about" 
     android:hapticFeedbackEnabled="true" 
     android:layout_weight="1"/> 

</TableRow> 
0

Application android:layout_weight="1" dans votre xml étirera vos images de bouton.

Si vous ne voulez pas étirer les images des boutons, utilisez ImageButton et réglez android:src sur vos tirages.

ci-dessous le code Référez:

<TableLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <TableRow> 

     <ImageButton 
      android:id="@+id/previous" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/previous_icon" 
      android:background="@android:color/transparent" 
      android:layout_weight="1" /> 

     <ImageButton 
      android:id="@+id/button_startprint" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/print_icon" 
      android:background="@android:color/transparent" 
      android:padding="10dp" 
      android:layout_weight="1" /> 

     <ImageButton 
      android:id="@+id/button_cam" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/cam_icon" 
      android:background="@android:color/transparent" 
      android:padding="10dp" 
      android:layout_weight="1" /> 

     <ImageButton 
      android:id="@+id/next" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/next_icon" 
      android:background="@android:color/transparent" 
      android:hapticFeedbackEnabled="true" 
      android:layout_weight="1" /> 
    </TableRow> 
</TableLayout> 

`

Questions connexes