studio pantalla linearlayout elementos ejemplo dinamico derecha centrar botones boton amontonados alinear ajustar android layout

pantalla - layout dinamico android



Android: ¿Alinear el botón a la esquina inferior derecha de la pantalla usando FrameLayout? (9)

Configuración android:layout_gravity="bottom|right" funcionó para mí

Estoy tratando de poner los controles de zoom del mapa en la esquina inferior derecha de la pantalla. Podría hacerlo con RelativeLayout utilizando alignParentBottom="true" y alignParentRight="true" , pero con Framelayout no encontré ninguno de esos atributos. ¿Cómo lo alineo a la esquina inferior derecha de la pantalla?


Dos formas de hacer esto:

1) Usar un diseño de marco

android:layout_gravity="bottom|right"

2) Uso de un diseño relativo

android:layout_alignParentRight="true" android:layout_alignParentBottom="true"


En realidad, es posible, a pesar de lo que se dice en otras respuestas. Si tiene un FrameLayout y desea colocar un elemento secundario en la parte inferior, puede usar android:layout_gravity="bottom" y eso alineará ese elemento al final de FrameLayout .

Sé que funciona porque lo estoy usando. Sé que es tarde, pero podría ser útil para otros ya que este se encuentra en las primeras posiciones en google


No puedes hacerlo con FrameLayout.

Por especificación:

http://developer.android.com/reference/android/widget/FrameLayout.html

"FrameLayout está diseñado para bloquear un área en la pantalla para mostrar un solo elemento. Puede agregar varios elementos secundarios a un FrameLayout, pero todos los elementos secundarios están vinculados a la esquina superior izquierda de la pantalla".

¿Por qué no usar RelativeLayout?


Se puede lograr usando RelativeLayout

<RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent"> <ImageView android:src="@drawable/icon" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentBottom="true" /> </RelativeLayout>


Si quieres probar con el código de java. Aqui tienes -

final LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); yourView.setLayoutParams(params); params.gravity = Gravity.BOTTOM; // set gravity


También encontré esta situación y descubrí cómo hacerlo usando FrameLayout. La siguiente salida es producida por el código que se proporciona a continuación.

<FrameLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/contactbook_icon" android:layout_gravity="center" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="140" android:textSize="12dp" android:textColor="#FFFFFF" android:layout_gravity="bottom|right" android:layout_margin="15dp" /> </FrameLayout>

Cambie el valor de margen para ajustar la posición del texto sobre la imagen. Eliminar el margen puede hacer que el texto salga de la vista algunas veces.


puede agregar un TextView invisible a FrameLayout.

<TextView android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:visibility="invisible" /> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:orientation="horizontal"> <Button android:id="@+id/daily_delete_btn" android:layout_width="0dp" android:layout_height="50dp" android:layout_weight="1" android:text="DELETE" android:layout_gravity="center"/> <Button android:id="@+id/daily_save_btn" android:layout_width="0dp" android:layout_height="50dp" android:layout_weight="1" android:text="SAVE" android:layout_gravity="center"/> </LinearLayout>


android:layout_gravity="bottom"