Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo crear un formulario de entrada de dos columnas en Android?

Quiero crear un formulario de entrada de dos columnas ordenado como este:

Http://img31.imageshack.us/img31/115/addnew2.png

  • ¿Por qué falla mi comparación String to String?
  • La función openOptionsMenu no funciona en ICS?
  • Android Espresso Issue - Conflicto de dependencia
  • Android: Cómo abrir el teclado virtual programáticamente en Vista Emoji
  • Deep Link Fallback
  • ¿Es posible girar un drawable en la descripción de xml?
  • Mi código de diseño xml hasta ahora:

    <?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> 

    Puedes ver que usé LinearLayout utilizando layout_weight & layout_width = "0dp" truco para hacer que la división de dos columnas se vea ordenada. En código HTML, podemos usar con% width size. Pero en el diseño de Android xml, no hay% -value para layout_width. Quiero evitar codificados dp valores para el ancho de columna. ¿Es posible en android?

    Hasta ahora eso es lo mejor que puedo hacer. Ahora quiero cambiar el tamaño del cuadro de texto ISBN para que sea más pequeño (50% menos el tamaño actual). Pero no puedo cambiar el tamaño de la anchura del cuadro de texto ya que layout_width debe ser "0dp" para que layout_weight funcione. También quiero hacer lo mismo con el tamaño de botón Enviar y Cancelar.

    Me pregunto si el uso de LinearLayout es una forma correcta de crear forma de entrada ordenadamente en android. ¿Podría TableLayout mejor para esto? Escuché que no se puede cambiar el layout_width de la vista secundaria en TableLayout.

    Hay algunas personas aquí me recomiendan usar RelativeLayout, lo probé pero no soporta layout_weight.

  • En Android, realice una solicitud POST con datos de formulario codificados en URL sin utilizar UrlEncodedFormEntity
  • Android: enum vs static final ints?
  • Cómo crear gradiente de fondo animado como Instagram app?
  • Bezier curva y lienzo
  • Creación de un widget de reloj digital con una fuente personalizada
  • Cómo crear una variable global en android?
  • 2 Solutions collect form web for “Cómo crear un formulario de entrada de dos columnas en Android?”

    De acuerdo, descubrí el camino con LinearLayout. El truco consiste en envolver las vistas que desea cambiar el tamaño con LinearLayout. Entonces, el ancho de View se puede ajustar usando: android: layout_width o android: propiedad ems.

    Aquí está el código xml:

     <?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_gravity="center_vertical" android:layout_weight="0.25" android:text="@string/lblIsbn" /> <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.75" android:orientation="horizontal" > <EditText android:id="@+id/txtIsbn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="5" /> </LinearLayout> </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" /> <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.75" android:orientation="horizontal" > <Button android:id="@+id/btnSubmit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="5" android:text="@string/submit" /> <Button android:id="@+id/btnCancel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="5" android:text="@string/cancel" /> </LinearLayout> </LinearLayout> </LinearLayout> 

    También debe considerar gridLayout , que puede utilizarse (mediante una biblioteca de android) en API7 +.

    Aquí hay un enlace: http://android-developers.blogspot.com/2011/11/new-layout-widgets-space-and-gridlayout.html

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.