Haz que la imagen aparezca en la mitad de la pantalla

Tengo problemas para hacer que mi imagen aparezca en la mitad de la pantalla. Aquí está mi archivo xml. Debe ocupar la mitad del tamaño de la pantalla y también el diseño lineal con la vista de texto debe estar en el pie de la imagen.

xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/fond" > <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" android:layout_below="@+id/relativeLayout1" > <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" > <WebView android:id="@+id/webcontent" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginTop="151dp" /> </RelativeLayout> <ImageView android:id="@+id/image_actualitedetails" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:src="@drawable/six_yamaha" /> <LinearLayout android:id="@+id/linearvideo" android:layout_width="fill_parent" android:layout_height="65dp" android:layout_alignBottom="@+id/image_actualitedetails" android:layout_alignParentLeft="true" android:background="#88FFFFFF" android:gravity="center" android:paddingLeft="@dimen/fourdp" android:paddingRight="@dimen/fourdp" > <TextView android:id="@+id/text_actualites" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView" android:textColor="@color/tabDark" android:textStyle="bold" /> </LinearLayout> </RelativeLayout> <RelativeLayout android:id="@+id/relativeLayout1" android:layout_width="fill_parent" android:layout_height="75dp" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:background="@drawable/header" > <Button android:id="@+id/boutton_retour" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:layout_marginLeft="14dp" android:background="@drawable/back" /> </RelativeLayout> 

Utilice LinearyLayout para ajustar su ImageView y otra vista invisible y establecer layout_weight a 0,5, entonces el ImageView debe ser la mitad del tamaño.

Aquí hay un ejemplo para mostrar cómo configurar la mitad de la imagen del tamaño de la pantalla

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <RelativeLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="0.5" android:background="#ff0000" > <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/your_image" android:adjustViewBounds="true" /> </RelativeLayout> <View android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="0.5" android:background="#00ff00" /> </LinearLayout> 

Y este es el resultado

Introduzca aquí la descripción de la imagen

Si desea poner su imagen en el centro de la pantalla, puede utilizar la misma idea y establecer el peso adecuado para lograr su objetivo. ¡Buena suerte!

Sólo si alguien quiere la versión de paisaje es casi lo mismo 🙂

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:baselineAligned="true" android:layout_width="match_parent" android:layout_height="match_parent" > <RelativeLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="0.5" android:background="#ff0000" > <ImageView android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/adele" /> </RelativeLayout> <RelativeLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="0.5" android:background="#00ff00" /> </LinearLayout> 

Primero necesitará obtener las dimensiones de la pantalla en tiempo de ejecución

 Display display = getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getSize(size); windowWidth = size.x; windowHeight = size.y; 

A continuación, puede seguir adelante y establecer los parámetros height y width de imageView en la mitad de esos valores

 int orgWidth = yourImageView.getDrawable().getIntrinsicWidth(); int orgHeight = yourImageView.getDrawable().getIntrinsicHeight(); //Use RelativeLayout.LayoutParams if your parent is a RelativeLayout LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( windowHeight / 2, windowWidth / 2); yourImageView.setLayoutParams(params); yourImageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 

Usted tiene que poner su imageview dentro de un LinearLayout con la alineación horizontal, así que usted puede utilizar

 android:weight = 0.5// this attribute for the image view will force the image to fill half of the screen, counting of course with the linear layout as the top parent layout(filling the hole window) 
  • cómo rotar el mapa de bits en android en el punto central utilizando matriz
  • Transición animada entre dos vistas de imagen
  • Cómo configurar onClicklistener Método de ImageView en Android?
  • ImageView src con el selector extraíble ignora el estado habilitado
  • Cómo cambiar programaticamente un TextView a un ImageView y volver
  • Las imágenes de gridview de Android en caché, en las imágenes de desplazamiento se repiten antes de ser reemplazadas
  • ImageView con esquinas acanaladas, frontera sólida y efecto resplandor
  • ¿Cómo obtener la posición actual de la imagen visualizada?
  • Correspondencia entre las coordenadas de ImageView y Pixeles de mapa de bits - Android
  • Cómo agregar una imagen en la barra de herramientas
  • Pinch Android y Zoom de la imagen en la actividad
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.