Esta me desconcierta desde mis primeros pasos con Android. No puedo hacer que ambas columnas en un TableLayout de 2 columnas sean exactamente el 50% cada una.TableLayout de 2 columnas con 50% exactamente para cada columna
He aquí un ejemplo:
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="fill_parent" >
<TableLayout
android:id="@+id/tablelayout"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:paddingRight="2dip" >
<TableRow>
<TextView
style="@style/TextViewStandard"
android_layout_span="2"
android:layout_weight="1"
android:text="Bla" />
</TableRow>
<TableRow>
<TextView
style="@style/TextViewStandard"
android:layout_weight="1"
android:text="Name:" />
<EditText
style="@style/EditTextStandard"
android:id="@+id/et_name"
android:layout_weight="1" />
</TableRow>
<TableRow>
<TextView
style="@style/TextViewStandard"
android:layout_weight="1"
android:text="URL:" />
<EditText
style="@style/EditTextStandard"
android:id="@+id/et_url"
android:layout_weight="1" />
</TableRow>
<TableRow>
<Button
style="@style/ButtonStandard"
android:layout_column="0"
android:layout_marginTop="6dip"
android:onClick="onClickOk"
android:text="@android:string/ok" />
</TableRow>
</TableLayout>
</ScrollView>
y aquí está la definición de estilo correspondiente:
<resources>
<style name="ButtonStandard" parent="@android:style/Widget.Button">
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">fill_parent</item>
</style>
<style name="EditTextStandard" parent="@android:style/Widget.EditText">
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginLeft">2dip</item>
<item name="android:layout_marginRight">2dip</item>
<item name="android:layout_marginTop">2dip</item>
<item name="android:layout_width">fill_parent</item>
</style>
<style name="TextViewStandard" parent="@android:style/Widget.TextView">
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginLeft">2dip</item>
<item name="android:layout_marginRight">2dip</item>
<item name="android:layout_marginTop">2dip</item>
<item name="android:layout_width">fill_parent</item>
<item name="android:textColor">@android:color/white</item>
</style>
</resources>
esto se convierte realmente en mal estado con una casilla en cuestión.
¿Qué pasa con mi definición?
Muchas gracias de antemano. HJW
Lo que es más importante, si hace esto, vuelque 'TableLayout' y cambie a' LinearLayout'. 'TableLayout' está diseñado para casos en los que necesita Android para calcular el ancho de columna en función del contenido de la celda. Si lo ignoras intencionalmente, también puedes usar 'LinearLayouts' anidados. – CommonsWare
@ChristianB: Gracias por la explicación. Siempre pensé que debe haber algo "incorrecto" con TableLayout. Curiosamente, muchos TableLayouts defectuosos funcionan perfectamente con el emulador 2.3. @dbm: con layout_width establecido en 0dp, todas las vistas secundarias (TextView/EditText) desaparecieron. Gracias de cualquier manera. Comprobaré la solución de CommonsWares y eliminaré TableLayouts por completo. No sé para qué sirven si necesita saber qué podría estar impreso en ellos y podría estropearlos ... –
@CommonsWare: ¿No puedo creer por qué tomé TableLayouts? Cambiarlos a LinearLayout funcionó perfecto. Muchas gracias. –