PDA

Ver la Versión Completa : [ CONSULTA ] no me funciona distinto layout para distintas pantallas


murtrum
27/11/14, 13:00:46
Hola a todos,

he diseñado una aplicación y le he creado el layout para la tablet donde hago las pruebas.

el tema es que ahora probandola en un móvil se ve mal el layout.

quiero crear distintos layouts para que se ajuste a la pantalla de un movil ó una tablet.

en /res/layout tengo el diseño que me funciona para la tablet

y he creado dos diseños más, uno en /res/layout-large y otro en /res/layout-xlarge pero ambos dispositivos siguen tomando el diseño de /res/layout y en uno se ve bien y en otro se ve muy pequeña una imagen, y deja un margen debajo que triplica su tamaño.

Dild0
27/11/14, 13:43:25
Si no te lo coge imagino que será porque el dispositivo donde pruebas no se corresponde con esas densidades y al no encontrar la suya coge la generica, busca exactamente para el dispositivo que usas que carpeta sería la correcta

murtrum
28/11/14, 16:35:53
Gracias por la respuesta:

entonces, como opciones tengo crear distintos layouts y ponerlos en:

/res/layout
/res/layout-small
/res/layout-normal
/res/layout-large
/res/layout-xlarge

o sino utilizar:

/res/layout-sw600dp
/res/layout-sw800dp

o ambos métodos combinados, como se explica aquí:

http://developer.android.com/training/multiscreen/screensizes.html

murtrum
17/12/14, 17:34:37
ya me funciona, pero no logro centrar una fotografía.

primero tengo un archivo XML con el siguiente código:



<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">


<RelativeLayout

android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
>


<android.support.v4.view.ViewPager
android:layout_width="fill_parent"
android:layout_height="240dp"
android:layout_marginBottom="16dp"
android:layout_centerInParent="true"
android:id="@+id/viewPagerId"/>

</RelativeLayout>

y luego con un adaptador muestro otro XML dentro del ViewPager:



<?xml version="1.0" encoding="utf-8"?>

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

<!-- Imagen -->
<com.android.volley.toolbox.NetworkImageView
android:id="@+id/thumbnail"
android:layout_width="320dp"
android:layout_height="240dp"
/>

</LinearLayout>

como tengo que indicarle que quiero que esté centrada horizontalmente la imagen?

muchas gracias.

EDITO: ya lo solucioné, ver lo que añadí en rojo

LEAJIM_454
18/12/14, 01:02:51
Hola, si quieres mantener compatibilidad con varios dispositivos creo que la mejor manera de hacerlo es mediante el uso de LinearLayout y Pesos(Weight), ya que el sistema se encarga de poner todo en su lugar, en tu mobil podria verse bien pero no en otros dispositivos, y si quieres quedarte con eso pues bueno, respondindo a tu pregunta intenta trasladando tu

android:gravity_center al imageview, con eso deberia resolver tu problema creo yo. saludos.

murtrum
18/12/14, 19:13:40
voy a investigar la propiedad Weight

Muchas gracias.