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


¿Es posible colocar una vista sobre otra en android?

¿Podemos colocar una pequeña vista sobre otra vista grande? Por ejemplo, tengo un VideoView que está reproduciendo un archivo en segundo plano. Sobre esto, en algún lugar en el centro / esquina, quiero colocar otro ImageView.

Pero en Linear / Relative Layout, las vistas se pueden colocar sólo una después de otra o relativ entre sí. Y Absolutelayout es desaconsejado. ¿Entonces qué hago?

4 Solutions collect form web for “¿Es posible colocar una vista sobre otra en android?”

FrameLayouts permiten apilar cada vista en la parte superior de la siguiente. Esto también se puede lograr con RelativeLayout .

FrameLayout es el ViewGroup más ViewGroup y apila las Views en el orden en que están definidas en XML de presentación; La primera será menor, y la última estará en la parte superior.

A continuación se muestra un ejemplo en el que las View s están desplazadas para ilustrar mejor el punto:

Introduzca aquí la descripción de la imagen

Aquí está el XML de presentación con los dos TextView s superpuestos. El desplazamiento se realiza con android:layout_gravity mientras android:gravity es para centrar el texto en sí dentro de cada TextView .

 <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="100dp" android:layout_height="100dp"> <TextView android:layout_width="60dp" android:layout_height="60dp" android:layout_gravity="top|left" android:background="@android:color/holo_blue_light" android:gravity="center" android:text="First is below"/> <TextView android:layout_width="60dp" android:layout_height="60dp" android:layout_gravity="bottom|right" android:background="@android:color/holo_green_light" android:gravity="center" android:text=" Last is on top"/> </FrameLayout> 
 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="@dimen/dp_20" android:background="@color/yellowt" > <VideoView android:id="@+id/videoview" android:layout_width="wrap_content" android:layout_centerInParent="true" android:layout_height="300dp" android:contentDescription="@string/app_name" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/camera" android:layout_margin="30dp" android:layout_alignParentEnd="true" android:layout_centerVertical="true" android:id="@+id/imageView" /> </RelativeLayout> 

También puedes hacerlo usando ConstraintLayout un nuevo diseño introducido por google.

ConstraintLayout permite crear diseños grandes y complejos con una jerarquía de vista plana (sin grupos de vistas anidadas).

  <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:layout_weight="4" tools:context="com.edalat.example.MainActivity"> <VideoView android:id="@+id/videoView" android:layout_width="283dp" android:layout_height="349dp" app:layout_constraintBottom_toBottomOf="parent" android:layout_marginBottom="24dp" app:layout_constraintTop_toTopOf="parent" android:layout_marginTop="24dp" android:layout_marginRight="24dp" app:layout_constraintRight_toRightOf="parent" android:layout_marginLeft="24dp" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintHorizontal_bias="0.509"/> <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" app:srcCompat="@mipmap/ic_launcher" app:layout_constraintTop_toTopOf="parent" android:layout_marginTop="24dp" app:layout_constraintBottom_toBottomOf="parent" android:layout_marginBottom="24dp" android:layout_marginLeft="24dp" app:layout_constraintLeft_toLeftOf="parent" android:layout_marginRight="24dp" app:layout_constraintRight_toRightOf="parent"/> </android.support.constraint.ConstraintLayout> 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.