Android – ¿Cómo posiciono las vistas en un desplazamiento respecto al centro / arriba / abajo (etc.) de su padre?

Tengo un RelativeLayout con vistas alineadas relativas a él (su padre), usando (por ejemplo):

 RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT); textView.setLayoutParams(layoutParams); 

Y ahora me pregunto, ¿cómo puedo posicionar la vista relativa a la parte inferior de su padre, pero en un desplazamiento (por ejemplo, 100 píxeles por encima de la parte inferior, 20 píxeles de la izquierda, etc), o similar con el centro (30 píxeles bajo El centro)?

Imagen esquemática de la disposición necesaria

He intentado establecer los márgenes de la vista (por ejemplo):

 layoutParams.setMargins(140, 0, 0, 0); 

Antes de aplicarlo al textView , pero eso no funcionó.

Parece una forma extremadamente útil de alinear vistas para varios tamaños de pantalla.

Es importante para mí lograr esto en código, sin usar xmls.

¡Gracias!

2 Solutions collect form web for “Android – ¿Cómo posiciono las vistas en un desplazamiento respecto al centro / arriba / abajo (etc.) de su padre?”

Usted tiene 2 maneras, el easies está utilizando un ancla vista vacía posicionada en el centro

  <View android:id="@+id/anchor" android:layout_width="0dp" android:layout_height="0dp" android:layout_centerInParent="true" /> <TextView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@id/anchor" android:layout_marginBottom="20dp" android:text="hello world!"/> 

O puede centrar su vista y usar pading por posicionamiento (debe doblar el relleno utilizado porque se desborda por debajo del centro de la pantalla)

  <TextView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:paddingBottom="40dp" android:text="hello world!"/> 

Acabo de comenzar la programación de Android esta noche, por lo que esto puede ser viejo o una mala idea … pero estaba jugueteando con la respuesta anterior y encontró un elemento de posicionamiento por debajo de mi otro elemento estaba causando un problema – o el relleno sería en el camino o alguna cosa. Esto es lo que terminé haciendo.

Utilizando la técnica de anclaje, también le di al ancla una altura (doble lo que usted necesita), y luego alineó mi elemento con la parte superior. Así estaría en medio de la vista menos la mitad de la altura del ancla!

 <View android:id="@+id/anchor" android:layout_width="0dp" android:layout_height="200dp" android:layout_centerInParent="true" /> <TextView android:id="@+id/heading" android:text="@string/heading" android:textColor="@android:color/white" android:textSize="24sp" android:layout_alignTop="@id/anchor" android:layout_centerHorizontal="true" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/subheading" android:text="@string/subheading" android:textColor="@android:color/white" android:textSize="12sp" android:layout_below="@+id/heading" android:layout_centerHorizontal="true" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 

La otra respuesta ayudó mucho pero sólo quería dar mis 2 centavos!

  • Cómo agregar left drawable en Spinner View en Android
  • Desarrollando PhoneGap para Android - Mejor práctica para diferentes tamaños de pantalla / densidad de píxeles
  • ¿Cómo implementar un evento Swipe para ver Flipper en un ViewPager?
  • Diferencia en los diseños de diseño de Android entre las versiones 2.3.3 y 4+
  • Advertencia del adaptador de enlace personalizado de DataBinding de Android
  • RatingBar se muestra incorrectamente en Android cuando se encuentra en el mismo TableRow que TextView
  • Cómo tener una imagen más amplia desplazándose en el fondo
  • Cómo dibujar línea de separación vertical entre dos línea de texto de Android?
  • ActionBarSherlock Ítem Icono de ancho extraño con Android 4.3
  • Cómo determinar la dirección de desplazamiento de ListView
  • ¿Cómo detengo mi menú desplegable AutoCompleteTextView de desplazarse sobre mi AutoCompleteTextView?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.