entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Maquetado XML android

Buenas tardes compañeros, no soy muy bueno para el maquetado de interfaces en Android-
queria ver si me podian echar la mano para realizar esto...

no puedo lograr que la imagen este sobrepuesta arriba de los 3 linearlayouts que tengo para representar los 3 colores del fondo y texto alineado a la derecha
enter image description here

Muchas gracias espero me puedan ayuda.. Saludos..!!

0voto

Peter comentado

¿Como las estas poniendo?
¿Porque no puedes?
¿Estas usando una imagen con formato PNG transparente?
¿Los fondos son imágenes o bloques de color?

Saludos.

0voto

Novus Ordo Seclorum comentado

Los 3 colores estan dentro de un linear layout cada uno.

No puedo por que no se como poner la imagen arriba de los 3 linear layouts.. ya que si trato de incertarla solo se pone dentro de 1 linear ignorando los de mas..

La imagen de la mujer es un png

Los bloques de colores son el background de cada uno de los linearlayout

0voto

Novus Ordo Seclorum comentado

Este es mi diseño:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#126462"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView8"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:paddingRight="20sp"
        android:paddingTop="15sp"
        android:text="VIGENCIA DE LAS MEMBRESÍAS"
        android:textColor="#ffffff"
        android:textStyle="bold" />

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </FrameLayout>

    <TextView
        android:id="@+id/textView8"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:paddingRight="20sp"
        android:text="6 meses a partir del dia de la compra."
        android:textColor="#ffffff" />

    <TextView
        android:id="@+id/textView8"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:paddingRight="20sp"
        android:paddingTop="15sp"
        android:text="RENOVACIÓN DE AFILIACIÓN"
        android:textColor="#ffffff"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/textView8"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:paddingBottom="20sp"
        android:paddingRight="20sp"
        android:text="Al finalizar la vigencia deberás renombrar tu membresía, para seguir activo y que no se desactive tu cuenta en el sistema."
        android:textColor="#ffffff" />
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#652D90"
    android:gravity="right"
    android:orientation="vertical"
    android:paddingBottom="10sp" >

    <TextView
        android:id="@+id/textView8"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:paddingRight="20sp"
        android:paddingTop="15sp"
        android:text="GANA MAS CON IMPULS"
        android:textColor="#ffffff" />

    <ImageView
        android:id="@+id/imageView3"
        android:layout_width="170dp"
        android:layout_height="59dp"
        android:src="@drawable/impuls" />
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#D91B5B"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1" >

            <ImageView
                android:id="@+id/imageView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="4"
                android:src="@drawable/carrito" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center_vertical|center"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/textView9"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="¡ DESCARGA"
                android:textColor="#ffffff"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/textView10"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="TU APP Y COMPRA !"
                android:textColor="#ffffff"
                android:textStyle="bold" />
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

</LinearLayout>

3 Respuestas

1voto

Leonardo-Tadei Puntos227320

Hola Novo,

nunca lo he hecho, pero por lo que estuve ojeando, no parece complicado: hay que usar la propiedad android:background="@drawable/background2" en la definición del LinearLayout

http://www.limecreativelabs.com/anadir-un-background-una-activity-en-android/

http://danielme.com/tip-android-10-mostrar-una-imagen-como-background/

Ya nos contarás!

0voto

Novus Ordo Seclorum comentado

Gracias por responder leonardo. Si se como poner un background a un linearlayout, lo que pasa es que tengo 3 linearlayouts , cada uno con un background diferente

----------------------------.
background 1
---------------------------.
background 2
---------------------------.
background 3
---------------------------.

Pero quiero poner una imagen que este arriba de esos 3 linearlayouts, es un PNG sin fondo (la mujer de la imagen) , espero explicarme bien jejej

Saludos..

0voto

Leonardo-Tadei comentado

Pero Novo! Si ponés la imagen encima de todo, por ejemplo en un linearlayout nuevo, por más que sea transparente, te van a dejar de cuncionar los controles, porque los tap serían sobre la imagen y no sobre lo que hay detrás.

Yo probaría poner la imagen de fondo, en el linearlayout que contiene a los otros 3, que sea la imagen la que tenga las bandas de 3 colores, y luego en cada linearlayout con contenido podría solo los textos, sin color de fondo ni nada.

Se vería igual y no tapás los controles...

0voto

Novus Ordo Seclorum comentado

pero eso implica que en las tabletas la muchacha se va ver alargada y perderá sus proporciones.. Si pense en eso, de echo fue lo primero que hice y en dispositivos pequeños funcionaba, pero en la tablet se veia muy mal jajaja.. por eso opte por separar los linearlayouts.

gracias por estar al pendiente de mi pregunta.

0voto

Leonardo-Tadei comentado

En el primer enlace se explica como evitar que la imagen se deforme usando un FrameLayout ... lo viste?

Tendrías que poner la imagen del tamaño del dipositivo más grande, y luego escapar siempre para abajo.

1voto

taek Puntos340

por qué no pones dentro del frame layout la imagen y sólo usas wrap_content para que la imagen ocupe las dimensiones de la misma?, luego alineas la posición del frame con gravity y creo que estará listo.

0voto

Xuelo Puntos600

Novus pienso que es mejor crear la imagen con photoshop tal como quieres que se repesente en el layout y lanzarla con un imageView y te ahorras complicaciones

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta