Question

Je suis en train de faire quatre rangées de trois boutons chacune, et au bas des boutons sont deux vues de texte. Je voudrais que tous être régulièrement espacées, mais ils ne sont pas et je ne sais pas pourquoi.

Voici le code dans mon fichier main.xml.

<?xml version="1.0" encoding="utf-8"?>

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

<TableRow 

  android:id="@+id/TableRow01" 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content">

<Button android:onClick="button_click" 
  android:layout_weight="1"
  android:id="@+id/Button01" 
  android:text="@string/str_1"/> 

<Button android:onClick="button_click" 
  android:layout_weight="1"
  android:id="@+id/Button02" 
  android:text="@string/str_2"/> 

<Button android:onClick="button_click"
  android:layout_weight="1"
  android:id="@+id/Button03" 
  android:text="@string/str_3"/>

<Button android:onClick="button_click"
  android:layout_weight="1" 
  android:id="@+id/Button04" 
  android:text="@string/str_4"/>

</TableRow>

<TableRow android:id="@+id/TableRow02" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content">

<Button android:onClick="button_click"
  android:layout_weight="1" 
  android:id="@+id/Button05"  
  android:text="@+string/str_5"/>

<Button android:onClick="button_click"
  android:layout_weight="1"
  android:id="@+id/Button06" 
  android:text="@+string/str_6"/>

<Button android:onClick="button_click" 
  android:layout_weight="1"
  android:id="@+id/Button07" 
  android:text="@+string/str_7"/>

<Button android:onClick="button_click"
  android:layout_weight="1" 
  android:id="@+id/Button08"  
  android:text="@+string/str_8"/>

</TableRow>

<TableRow android:id="@+id/TableRow03" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content">

<Button android:onClick="button_click" 
  android:layout_weight="1"
  android:id="@+id/Button09" 
  android:text="@+string/str_9"/>

<Button android:onClick="button_click" 
  android:layout_weight="1"
  android:id="@+id/Button10" 
  android:text="@+string/str_10"/>

<Button android:onClick="button_click" 
  android:layout_weight="1"
  android:id="@+id/Button11" 
  android:text="@+string/str_11"/>

<Button android:onClick="button_click" 
  android:layout_weight="1"
  android:id="@+id/Button12" 
  android:text="@+string/str_12"/>

</TableRow>

<TableRow android:id="@+id/TableRow04" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent">

<TextView android:text="@+id/TextView01" 
    android:layout_weight="1" 
    android:id="@+id/TextView01" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"></TextView>

<TextView android:text="@+id/TextView02"
    android:layout_weight="1" 
    android:id="@+id/TextView02" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"></TextView>

</TableRow>

</TableLayout>

Mes vues de texte ont le code suivant:

 TextView t = (TextView)findViewById(R.id.TextView01);
 TextView t2 = (TextView)findViewById(R.id.TextView02);
 t.setTextSize(24);
 t2.setTextSize(24);

Quand je lance mon programme, je reçois:

Était-ce utile?

La solution

Ok, donc pour aider avec cette android:stretchColumns="0,1,2,3" add dans votre tableau mise en page qui faire des boutons même taille.

ajouter un second android:layout_span="2" à la fois de votre point de vue de texte.

Heres vous un code final:

<!-- NOTICE STRETCHCOLUMNS ATTRIBUTE-->
<TableLayout android:id="@+id/TableLayout01"
xmlns:android="http://schemas.android.com/apk/res/android"
android:stretchColumns="0,1,2,3"
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
>
.
.
.

.
.
<!-- NOTICE LAYOUT_SPAN ATTRIBUTE-->
<TextView android:text="@+id/TextView01" 
    android:layout_weight="1" 
    android:id="@+id/TextView01"
    android:layout_span="2"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"></TextView>

<TextView android:text="@+id/TextView02"
    android:layout_weight="1" 
    android:id="@+id/TextView02" 
    android:layout_span="2"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"></TextView>

Si vous définissez la taille du texte par programme pour faire vos TextViews régulièrement espacés, ce ne est pas nécessaire lorsque vous avez défini le android:layout_span.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top