Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android RelativeLayout alinea el centro de una vista en la esquina superior derecha de otra vista

Tengo experiencia con RelativeLayout, pero nunca he encontrado una forma de resolver el problema que me presentan (aparte de los valores de margen de codificación, que quiero evitar).

Quiero intentar crear algo como la siguiente imagen en un RelativeLayout:

Introduzca aquí la descripción de la imagen

La caja es su propia vista y quiero obtener la vista que contiene el círculo naranja para centrarse en la esquina superior derecha de la vista que contiene el cuadro azul.

He intentado con android:alignTop="boxView" y android:alignRight="boxView" pero que puso mi círculo naranja completamente dentro de mi caja. Quiero que sea para que el círculo está centrado por encima de la esquina superior derecha de la caja.

¿Alguien sabe cómo puedo conseguir ese resultado con un RelativeLayout? Preferiblemente sin tener que codificar márgenes fuera del borde de la pantalla para la vista de punto naranja.

  • Significado de "Ninguna vista de etiquetas apunta a este campo de texto" mensaje de advertencia
  • Cifrado de archivos con AES en Android
  • Modificación de la pila trasera en Android
  • El primer lanzamiento tarda mucho tiempo (ClassLoader hace referencia al camino desconocido)
  • El apk debe estar firmado con los mismos certificados que la versión anterior
  • Diferentes bibliotecas / importaciones dependiendo del tipo de construcción
  • Efecto de ondulación de Android anulado por el estado seleccionado
  • Android detectar Bluetooth desconectar inmediatamente Máximo 2 segundos
  • One Solution collect form web for “Android RelativeLayout alinea el centro de una vista en la esquina superior derecha de otra vista”

    Este código crea lo que está buscando pero utiliza márgenes. Ahora puede establecer el margen en código si se trata de una estructura dinámica que está creando. Como puede ver, usé márgenes negativos para mover la forma superior derecha fuera de la caja azul. Estos deben ser la mitad de la altura del círculo que está tratando de mover. Puede hacer todo esto en código para centrar el círculo en la esquina superior derecha.

      <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" > <LinearLayout android:id="@+id/linearLayout1" android:layout_width="100dp" android:layout_height="100dp" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:background="#0000FF" android:orientation="vertical" > </LinearLayout> <LinearLayout android:layout_width="26dp" android:layout_height="26dp" android:layout_alignRight="@+id/linearLayout1" android:layout_alignTop="@+id/linearLayout1" android:layout_marginRight="-13dp" android:layout_marginTop="-13dp" android:background="#FF00FF" android:orientation="vertical" > </LinearLayout> </RelativeLayout> 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.