vertical tutorial studio linearlayout examples example ejemplo constraint android layout height

tutorial - relativelayout android



¿Cuál es el truco con 0dip layout_height o layouth_width? (3)

Quiero decir por qué alguien quiere que vean la altura 0dip? He visto esto muchas veces, debe haber algún tipo de truco, pero no lo entiendo.

<TextView android:gravity="top" android:textColor="#FFFF0000" android:textSize="20dip" android:text="TextView" android:layout_height="0dip" android:layout_width="fill_parent" android:id="@+id/contactName"></TextView>

¿Por qué no usan por ejemplo wrap_content? ¿Qué quieren lograr?


El android:layout_height="0dp" se usa en varios códigos porque:

  1. Esto significa que la altura de la vista se puede cambiar más adelante debido a otras restricciones de diseño.
  2. Es una práctica común y se ve a menudo en diseños relativos y lineales.

p.ej:

android:layout_height = "0dp" android:layout_weight = "1.0"

La altura o el ancho cuando se establece en "0dp", se usan principalmente en combinación con "peso". Por ejemplo, si desea llenar todo el espacio disponible para la altura, utilice el código anterior y, de igual manera, el mismo caso para el ancho.


Esto se usa mucho para vistas dentro de LinearLayout . Hay tres atributos de "diseño" que LinearLayout conoce:

  1. android:layout_height
  2. android:layout_width
  3. android:layout_weight

Puedes encontrar un ejemplo con android:layout_weight en el proyecto tutorial .

Entonces, cuando se usa android:layout_weight en View X y LinearLayout es horizontal, entonces el android:layout_width de X android:layout_width simplemente se ignora.

Similar, cuando se usa android:layout_weight en View X y LinearLayout es vertical, entonces se ignora el android:layout_height de X android:layout_height .

Esto significa que puedes poner cualquier cosa en esos campos ignorados: 0dp o fill_parent o wrap_content . No importa. Pero se recomienda usar 0dp para que las View no hagan un cálculo adicional de su altura o ancho (que luego se ignora). Este pequeño truco simplemente guarda los ciclos de CPU.


Generalmente se usa cuando se tienen muchas vistas dentro de un lineallayout y se ha configurado android: layout_weight = "1" para que ambas vistas ocupen el mismo espacio. por ejemplo:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:text="TextView" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:text="TextView" /> </LinearLayout>

En ese caso, la vista tendrá tanta altura como todas las demás vistas.