Bonjour,

j'ai un petit problème avec un TableLayout. En fait, je créer un TableLayout (via une vue xml) auquel je rajoute un TableRow (toujours via xml). Je défini les paramètres tels que les marges, le centrage, etc. Ensuite, via mon code Java (dans mon activité), j'ai besoin de rajouter dynamiquement des TableRow. Les problème que j'ai, c'est que les TableRow que j'ajoute via mon activité ne sont pas alignés avec le premier TableRow ajouté via la vue xml. Pourtant, j'ai (a priori) utilisé les même paramètres.

Je mets mon code si jamais ça peut aider:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:gravity="center" android:background="@drawable/background" android:layout_height="fill_parent" android:layout_width="fill_parent" android:layout_gravity="center">
    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="High Scores" android:layout_gravity="center" android:gravity="center"></TextView>
    <ScrollView android:layout_width="match_parent" android:layout_height="150dp" android:layout_gravity="center">
        <TableLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:layout_gravity="center_horizontal" android:id="@+id/highScoreTable">
            <TableRow android:gravity="center" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_width="wrap_content">
                <TextView android:layout_width="wrap_content" android:text="#" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_margin="5px"></TextView>
                <TextView android:layout_width="wrap_content" android:text="Name" android:layout_height="wrap_content" android:layout_gravity="left|center_vertical" android:layout_margin="5px"></TextView>
                <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5px" android:layout_gravity="right|center_vertical" android:text="Score"></TextView>
            </TableRow>
        </TableLayout>
    </ScrollView>
    <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/exitHighScores" android:layout_gravity="center" android:background="@drawable/back" android:overScrollMode="always" android:visibility="visible"></ImageButton>
</LinearLayout>
Vue xml.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
				TableRow tableRow = new TableRow(this.getApplicationContext());
				TextView view1 = new TextView(this.getApplicationContext());
				TextView view2 = new TextView(this.getApplicationContext());
				TextView view3 = new TextView(this.getApplicationContext());
 
				LayoutParams layoutParams = new LayoutParams();
				layoutParams.gravity = Gravity.CENTER;
				layoutParams.setMargins(5, 5, 5, 5);
 
				view1.setLayoutParams(layoutParams);
				view2.setLayoutParams(layoutParams);
				view3.setLayoutParams(layoutParams);
 
				this.highScoreTable.addView(tableRow);
				tableRow.addView(view1);
				tableRow.addView(view2);
				tableRow.addView(view3);
 
				tableRow.setGravity(Gravity.CENTER);
 
				view1.setText("" + (k+1) + "");
				view2.setText("" + scoreArray[k].getName() + "");
				view3.setText("" + scoreArray[k].getScore() + "pts");
La parie de mon activité où j'ajoute mes TableRow.

Voilà, si quelqu'un trouve où j'ai merdé =).