Diferencia en los diseños de diseño de Android entre las versiones 2.3.3 y 4+

Estoy haciendo frente a un extraño problema en mi proyecto al crear un diseño xml simple como sigue:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:background="#FF0000" android:layout_marginLeft="30dp" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button" android:layout_gravity="left|center_vertical"/> 

Ahora vea la diferencia, esta es la vista en 4.2.2 :

2.3.3 versión

Y éste en 2.3.3 :

Introduzca aquí la descripción de la imagen

Apreciaría si alguien me puede ayudar con ella. Gracias

Funciona, si lo cambia a esto:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="center" android:layout_marginLeft="30dp" android:background="#FF0000" android:orientation="vertical" > <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:text="New Button" /> </LinearLayout> 

(Creo que sé por qué se comporta así, permítanme que compruebe algo, voy a agregar una explicación más adelante)

He enfrentado el mismo problema, en mi caso tuve algo como esto

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" style="@style/match" android:background="@color/light" android:orientation="vertical" android:layout_margin="@dimen/lateral_margin" > <ImageView android:id="@+id/full_screen_image" style="@style/match_width" android:scaleType="fitCenter" android:layout_gravity="center" android:layout_weight="2" android:contentDescription="@string/image_content_description"/> <TextView android:id="@+id/barcode_number" style="@style/match_width" android:gravity="center" android:textColor="@color/dark_text" android:textSize="30sp" android:visibility="gone" /> </LinearLayout> 

Mi problema se resolvió cambiando

  android:layout_margin="@dimen/lateral_margin" > 

con:

  android:padding="@dimen/lateral_margin" > 

Parece que los androides 2.3.3 e inferiores estaban computando el margen de manera diferente que android 4 y mayor. Ahora todos se comportan de la misma manera.

En su caso, tal vez la configuración del margen de layouts negro como relleno podría ayudar.

  • ¿Cómo lograr la interfaz de usuario de Android como este diseño de imagen? Acerca de android: clipChildren
  • Barra de herramientas en AppBarLayout es desplazable aunque RecyclerView no tiene suficiente contenido para desplazarse
  • Android - aplicar selectableItemBackground en xml con soporte v7
  • Diseño personalizado EditText
  • ¿Cuál es la diferencia entre @android: and? Android:
  • Cómo obtener una cadena de attr con el tipo de formato de referencia?
  • Menú emergente con icono en Android
  • Mala disposición XML con Eclipse-ADT
  • Prefijo de espacio de nombres inesperado "xmlns" encontrado para la etiqueta LinearLayout
  • La vista de la tarjeta Android tiene una línea gris delgada entre las tarjetas
  • Obtener el nombre del atributo de array string
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.