Colocación de la imagen de fondo
Estoy intentando fijar mi elemento de la raíz LinearLayout (que se fija a fill_parent en ambas dimensiones) para tener una imagen de fondo que esté siempre situada en la esquina inferior izquierda de la pantalla sin importar la orientación del dispositivo. Sería excelente si hubiera alguna manera de establecer la posición de la imagen de fondo como la que se puede hacer con css usando "background-position: left bottom"; Pero no estoy viendo una manera de lograr esto en Android. ¿Hay alguna forma de hacer esto?
Gracias por la ayuda.
- Guardar la posición de scrollview cuando la orientación cambia
- Utilizar un prefijo de espacio de nombres no androide en elementos secundarios en un diseño
- Detener la vista web de Android que cubre tabwidget
- Cómo transferir datos extra de un fragmento a otro a través de la actividad
- Curl página de izquierda a derecha android
- Patrones de uso de la actividad Transición vs Fragmentos dinámicos
- Configuración de orientación múltiple - Android
- Las dependencias circulares no pueden existir en RelativeLayout, android?
- Cómo hacer la alineación del título de la pestaña a la izquierda en TabLayout en Android
- Android: HorizontalScrollView en una fila ListView Elemento, problema de enfoque
- Diseño de material de Card_view
- Manipulación de pesos en onMeasue para vistas personalizadas
- Android: Uso de PopupMenu en el nivel 9 de API
Tendrás que crear un mapa de bits personalizado dibujable con tu mapa de bits en un archivo XML (por ejemplo, "res / drawables / my_drawable.xml"
<?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/my_png_file" android:gravity="bottom|left" />
A continuación, establezca este xml dibujable como fondo de su vista ("@ drawables / mi_drawable"). El formato XML es muy poco documentado en el sitio de Android, sin embargo, por lo que definitivamente no es un problema fácil para resolver la forma de resolver por su cuenta.
Si se encuentra una ventaja haciendo esto mediante programación: la imagen se ajusta a la disposición en lugar de ser más grande que la misma. No ideia por qué.
El código:
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.image); BitmapDrawable bitmapDrawable = new BitmapDrawable(bmp); bitmapDrawable.setGravity(Gravity.BOTTOM|Gravity.RIGHT); LinearLayout layout = (LinearLayout) findViewById(R.id.background_root); layout.setBackgroundDrawable(bitmapDrawable);
Envuelva su LinearLayout en un RelativeLayout y agregue un ImageView a él. Uso de android: layout_alignParentBottom y android: layout_alignParentLeft puedes poner tu imagen en la parte inferior izquierda.
<RelativeLayout android:id="@+id/relativeLayout" android:layout_width="match_parent" android:layout_height="match_parent" > <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:src="@drawable/my_image" /> <LinearLayout android:id="@+id/linearLayout" ... >
Asegúrese de que ImageView es el primer elemento de RelativeLayout para dibujar la imagen en segundo plano.
- Servicios de Google Play en Genymotion en Lollipop (Android 5.0)
- Android: Obtener una vista Referencia a un elemento de menú