Cuando la disposición de Android LinearLayout es vertical, los componentes internos están en la parte inferior

Antecedentes: cuando se establece LinearLayout android:orientation="vertical", solo tendrán efecto los atributos de gravedad en la dirección horizontal, como izquierda, derecha, centro_horizontal. En este momento, no es válido agregar android:gravity="bottom"o establecer valores de atributos solo en el último componente .layout_marginBottom

android:layout_weight="1"Por lo tanto, si desea colocar el último control en la parte inferior del diseño principal, puede agregar atributos a un control operable que no necesita colocarse en la parte inferior .

Ejemplo: (Se eliminó algún código no esencial irrelevante para este ejemplo)

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <TextView
      android:layout_width="match_parent"
      android:layout_height="68dp"
      android:layout_marginTop="40dp"
      android:gravity="center_vertical"
      android:text="@string/read_head"/>
    <TextView
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_marginTop="22dp"
      android:layout_weight="1"					//这里
      android:text="@string/read_detail"/>
    
    <ImageView
      android:layout_width="120dp"
      android:layout_height="120dp"
      android:layout_marginBottom="74dp"
      android:src="@drawable/reading"/>
  </LinearLayout>

Cuando no se agrega esta línea de código, muestra:
Insertar descripción de la imagen aquí
Después de agregar:
Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_40934065/article/details/117930317
Recomendado
Clasificación