2011-06-17 5 views
0

Je veux que cela fonctionne sur toutes les tailles d'écran, donc je ne pense pas que l'utilisation de rembourrage est la meilleure façon de résoudre ce problème. Je peux centrer tout quand il est dans la verticale mais quand il est horizontal rien ne semble aligner ...Centre Aligner Table + Boutons

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:orientation = "horizontal" 
android:layout_gravity = "center"> 

<TableLayout 
    android:layout_height = "wrap_content" 
    android:layout_width="wrap_content" 
    android:gravity = "center" 
    android:layout_gravity="center_horizontal"> 
    <TableRow 
    android:id="@+id/tableRow1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 
     <TextView 
     android:textSize="24.5sp" 
     android:id="@+id/textView1" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:layout_marginBottom="20dip" 
     android:text="Bubb" 
     android:layout_width="wrap_content"> 
     </TextView> 
    </TableRow> 
    <TableRow android:baselineAligned="false"> 
     <Button 
     android:id = "@+id/continue_button" 
     android:background="@drawable/and_button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:paddingLeft = "@dimen/pad_horizontal" 
     android:paddingRight = "@dimen/pad_horizontal" 
     android:paddingTop = "@dimen/pad_vertical" 
     android:paddingBottom = "@dimen/pad_vertical" 
     android:text = "@string/first_label" 
     android:layout_margin="@dimen/margin"/> 
    </TableRow> 
    <TableRow> 
     <Button 
     android:id = "@+id/new_button" 
     android:text = "@string/second_label" 
     android:background="@drawable/and_button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:paddingLeft = "@dimen/pad_horizontal" 
     android:paddingRight = "@dimen/pad_horizontal" 
     android:paddingTop = "@dimen/pad_vertical" 
     android:paddingBottom = "@dimen/pad_vertical" 
     android:layout_margin="@dimen/margin"/> 
    </TableRow> 
    <TableRow> 
     <Button 
     android:id = "@+id/about_button" 
     android:text = "@string/third_label" 
     android:background="@drawable/and_button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:paddingLeft = "@dimen/pad_horizontal" 
     android:paddingRight = "@dimen/pad_horizontal" 
     android:paddingTop = "@dimen/pad_vertical" 
     android:paddingBottom = "@dimen/pad_vertical" 
     android:layout_margin="@dimen/margin"/> 
    </TableRow> 
    <TableRow> 
     <Button 
     android:id = "@+id/exit_button" 
     android:text = "@string/fourth_label" 
     android:background="@drawable/and_button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:paddingLeft = "@dimen/pad_horizontal" 
     android:paddingRight = "@dimen/pad_horizontal" 
     android:paddingTop = "@dimen/pad_vertical" 
     android:paddingBottom = "@dimen/pad_vertical" 
     android:layout_margin="@dimen/margin"/> 
    </TableRow> 
    </TableLayout> 

</LinearLayout> 

Toute aide est grande.

Répondre

1

On ne sait pas de votre question précisément comment vous voulez que votre mise en page à regarder, mais je devine (de votre XML, au moins) que vous êtes après quelque chose comme ceci:

enter image description here

I Vous n'avez pas vos drawables, donc vous ne pouvez pas les inclure.

Si tel est le cas, cette mise en page le tour est joué:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="fill_parent" 
    android:layout_height="fill_parent" android:gravity="center"> 
    <TextView android:text="Bubb" android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
    <Button android:text="Button" android:id="@+id/button1" 
     android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
    <Button android:text="Button" android:id="@+id/button2" 
     android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
    <Button android:text="Button" android:id="@+id/button3" 
     android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
    <Button android:text="Button" android:id="@+id/button4" 
     android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
</LinearLayout> 

EDIT: qui aligne dans une liste verticale lors de la mise au paysage:

enter image description here

Si vous avez besoin d'un Horizonal liste, copiez simplement cette mise en page dans "res/layout-land" et changez l'orientation dans le LinearLayout externe en "horizontal":

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" android:layout_width="fill_parent" 
    android:layout_height="fill_parent" android:gravity="center"> 

et vous obtiendrez ceci:

enter image description here

+0

la mise en page est horizontal et la gravité ne fonctionnera pas et thats la question, tout est bien quand c'est vertical. C'est essentiellement ce que je veux qu'il ressemble à tho .. juste horizontalement lol – Chris

+0

J'ai mis à jour la réponse. Si cela ne répond pas à votre question, pouvez-vous être un peu plus précis sur ce que vous essayez d'accomplir, car ce n'est pas très clair. –

+0

Merci mate thats parfait, la disposition de la table était juste tout déconner tout le look de celui-ci – Chris

0

Prenez TableLayout dans RelativeLayout et définissez la propriété de TableLayout en tant que "Layout center dans parent = true" ou vous pouvez utiliser "Layout center horizontal = true" en fonction de vos besoins.

+0

J'ai essayé, mais il ne se centre pas lorsque l'orientation est horizontale – Chris