usar traduccion sirve que para ejemplos developers definicion como android android-relativelayout android-framelayout

android - traduccion - FrameLayout vs RelativeLayout para superposiciones



framelayout android para que sirve (1)

Necesito implementar una pantalla superpuesta (translúcida) para mi aplicación, algo similar a Showcase View

Mi conjetura fue usar FrameLayout para este caso de uso, porque se usa para apilar elementos uno encima del otro. Pero me sorprendió ver que la biblioteca anterior utiliza RelativeLayout .

Mi pregunta es cuándo usar FrameLayout , si no en casos como este. ¿Cuáles son las desventajas si voy por FrameLayout ?


Una regla de oro común al elegir diseños es seleccionar la combinación que resulte en el menor número de vistas de diseño anidadas.

Específicamente para su pregunta, RelativeLayout es más grande y más capaz que el FrameLayout mucho más simple. Así que para diseños simples, este último es probablemente más eficiente. Pero si utiliza RelativeLayouts y sus opciones de posicionamiento agregadas le permite implementar su GUI en un número menor de vistas de diseño, entonces esa sería una mejor opción.

Aquí hay una página que discute algunas concesiones y demuestra algunas herramientas útiles para usar al diseñar sus diseños. Habla principalmente de RelativeLayout y LinearLayout, pero también es apropiado para su elección entre RelativeLayout y Framelayout. Solo tenga en cuenta que FrameLayout es un diseño aún más simple.

Editar (2017): para diseños más complicados, puede evitar diseños anidados utilizando ConstraintLayout.