Comment créer un formulaire de saisie à deux colonnes dans Android?

Je veux créer un joli deux-colonnes d'entrée formulaire comme ceci:

Comment créer un formulaire de saisie à deux colonnes dans Android?

Mon xml de mise en page de code pour l'instant:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.25"
android:text="@string/lblTitle" />
<EditText
android:id="@+id/txtTitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.75"
android:ems="10" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.25"
android:text="@string/lblAuthor" />
<EditText
android:id="@+id/txtAuthor"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.75"
android:ems="10" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.25"
android:text="@string/lblPublisher" />
<EditText
android:id="@+id/txtPublisher"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.75"
android:ems="10" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.25"
android:text="@string/lblIsbn" />
<EditText
android:id="@+id/txtIsbn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.75"
android:ems="10" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<View
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.25" />
<Button
android:id="@+id/btnSubmit"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.375"
android:text="@string/submit" />
<Button
android:id="@+id/btnCancel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.375"
android:text="@string/cancel" />
</LinearLayout>
</LinearLayout>

Vous pouvez voir que j'ai utilisé LinearLayout utilisant layout_weight & layout_width="0dp" truc pour faire les deux colonnes de la division de l'air soigné. Dans le code HTML, on peut utiliser avec % de la largeur de la taille. Mais dans android xml de mise en page, il n'y a pas de %de la valeur de layout_width. Je veux éviter codé en dur dp-valeurs pour la largeur de la colonne. Est-il possible dans android?

Jusqu'à présent c'est le mieux que je puisse faire. Maintenant, je veux redimensionner l'ISBN zone de texte à devenir plus petites (50% de la taille de moins à partir de la taille actuelle). Mais je ne peux pas redimensionner la zone de texte largeur depuis layout_width doit être "0dp" pour layout_weight de travail. Je veux aussi faire de même avec le Présenter et le bouton Annuler de la taille.

Je me demande si l'utilisation LinearLayout est une bonne façon de créer une entrée soigneusement dans android. Pourrait TableLayout mieux pour cela? J'ai entendu dire que vous ne pouvez pas modifier la vue enfant est layout_width dans TableLayout.

Il y a certaines personnes ici me recommander à l'aide de RelativeLayout, j'ai essayé, mais il ne prend pas en charge layout_weight.

source d'informationauteur null