Pregunta

Estoy tratando de hacer cuatro filas de tres botones cada uno, y en la parte inferior de los botones son dos vistas de texto. Me gustaría que todos ellos estén espaciados uniformemente, pero que no son y no estoy seguro de por qué.

Este es el código en mi archivo 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>

Mis vistas de texto tienen el siguiente código:

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

Cuando ejecuto mi programa me sale:

texto alternativo ??

¿Fue útil?

Solución

aceptable para ayudar con este complemento android:stretchColumns="0,1,2,3" en su tabla de disposición que haría que incluso los botones de tamaño.

En segundo lugar añadir un android:layout_span="2" a ambos de sus vistas de texto.

Heres que un código 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 va a configurar el tamaño del texto mediante programación para hacer sus TextViews uniformemente espaciadas, no es necesaria cuando se ha activado android:layout_span.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top