2012-03-30 7 views
8

Ahora estoy usando MATCH_PARENT en toda mi aplicación. He decidido poner la aplicación a disposición de los usuarios de Android 2.1 pero MATCH_PARENT no se presenta hasta Android 2.2FILL_PARENT y MATCH_PARENT

¿Cómo debo hacer esto si quiero que mi aplicación use MATCH_PARENT cuando la versión de Android es 2.2 o superior? pero use FILL_PARENT si es 2.1 (o menor si decido abrirlo más adelante)?

Respuesta

10

FILL_PARENT y MATCH_PARENT son lo mismo, si la versión que el usuario está teniendo es 2.2 o superior, FILL_PARENT se reemplazará automáticamente por MATCH_PARENT. Por lo tanto, es mejor usar FILL_PARENT, para compatibilidad con versiones anteriores.
Hubo un blog en el sitio de desarrollo de Android sobre esto, espero que pueda encontrarlo, si desea tener más detalles al respecto.

+1

Guau, no sabía que se reemplaza automáticamente. Pensé que si se desprimía debes evitarlo a toda costa. ¡Gracias! – dokgu

+0

@dokgu ¿Qué te hace pensar que _deprecated_ significa que uno tiene que _aprobarlo a toda costa_? Si ese fuera el caso, no habría una ruta de migración. –

2

Bueno, ellos hacen exactamente lo mismo, simplemente cambiaron la sintaxis para 2.2+. Yo diría que simplemente use FILL_PARENT siempre para que siempre funcione si planea soportar 2.1 o menos.

+0

¡Gracias por la información! – dokgu

2

No debe usar fill_parent más, incluso si admite Android 2.1 o inferior. Puede saber que el compilador Java convertirá constantes como FILL_PARENT o MATCH_PARENT a sus respectivos valores estáticamente en los archivos de clase. Esto también ocurre en los archivos XML de diseño.

Si no lo cree, simplemente pruébelo en su emulador (debe declarar android:minSdkVersion="4" en AndroidManifest.xml).

Cuestiones relacionadas