2011-07-19 14 views
8

Tengo el siguiente problema, he hecho un formulario con una galería, la galería de imágenes en lugar de contener contiene objetos de una de mis clases, todo dentro de cada elemento de la galería muestra perfectamente. Quité el espacio entre imágenes usando:espacio de galería en el comienzo y el final

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 
     <Gallery android:id="@+id/galleryid" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:spacing="0dip" 
       android:padding="0dip" 
       android:layout_weight="1" /> 

los elementos de la galería:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout android:id="@+id/LinearLayout01" 
    android:layout_width="75dip" xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center_horizontal" android:background="#ffffff"> 

    <TextView android:id="@+id/frame_number" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="-" android:textSize="12dip" android:textColor="#ffffff" android:background="#000000" android:gravity="center" /> 
    <LinearLayout android:id="@+id/LinearLayout01" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" android:orientation="horizontal" android:gravity="center_horizontal"> 
       <TextView android:id="@+id/frame_shot1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="-" android:textSize="18dip" android:textColor="#000000" /> 
       <TextView android:id="@+id/frame_shot2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="-" android:textSize="18dip" android:textColor="#000000" /> 
    </LinearLayout> 
    <TextView android:id="@+id/frame_total" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="---" android:textSize="38dip" android:textColor="#000000"/> 
</LinearLayout> 

buuuuuuuuuuuuuuuuut, tengo un problema, hay algo de espacio en blanco al principio y al final de la galería sin artículos la cosa es que mi galería tiene muchos elementos en ella que u realmente puede desplazarse horizontalmente, pero quiero deshacerse de los espacios por lo que la primera cosa en el extremo izquierdo de la galería es el primer elemento y el último cuando u desplazarse a la derecha está el ítem correcto.


Edición 08/16 Todavía con el mismo problema de espalda en el proyecto, aquí os dejo una imagen exacta de lo que es lo que estoy tratando de deshacerse de esto es el espacio negro al principio (también al final de la galería en el otro lado)

enter image description here

+0

¿Encontró una solución a esto? –

+0

hola Mina y Ale k ¿ha encontrado solución a este problema? – SRam

+0

Hola SRam, Mina y Ale K ¿ha encontrado la solución del problema anterior? – indrajeet

Respuesta

0

Su probablemente hablando de la longitud del borde de desvanecimiento.

http://developer.android.com/reference/android/view/View.html#setFadingEdgeLength(int)

Trate

setFadingEdgeLength(0); 

O

setHorizontalFadingEdgeEnabled(false); 

trate de cambiar su diseño para el ancho de la galería para llenar los padres, así en lugar del contenido envoltura:

<Gallery android:id="@+id/galleryid" 
      android:layout_width="fill_parent" 
+0

Perdón por la demora en responder a Chris, pero no, ese no es el espacio del que creo que estoy hablando, tengo una galería que llena todo el ancho de la pantalla con elementos ... pero de todos modos tengo un espacio en blanco i puede desplazarse a través de la izquierda y a la derecha del último y primer elemento y quiero deshacerme de él, como un espacio antes del principio y antes del final ... quiero que salga. Gracias. –

+0

¿Puedes publicar todo el xml en tu vista? Tal vez un entorno de padres lo está afectando? –

+0

Disculpe, por la demora, aquí está la imagen y el código completo de la actividad de la galería y de mis elementos personalizados –

-2

Acabo de pasar con este problema 2 horas y finalmente encontré una solución para mí. Tengo una galería, con elementos personalizados LinearLayout. Quiero mostrar solo 1 elemento por vez sin ningún relleno al inicio ni al final.

Después de muchos intentos me encontré con que, si fijo el parámetrominWidth de cada artículo para un gran número de (android: minWidth = "1000dp") mi problema está resuelto. No sé si es adecuado para su problema. Buena suerte

Peter B.

+0

Nop, no funcionó, actualicé mi publicación original con una imagen de lo que realmente es mi problema se parece a, de todos modos, gracias por tu ayuda, ¿alguna otra idea? –

1

Una cosa que puedes intentar es comprobar si hay más de un elemento. Si lo hay, configure la selección en la galería para que sea el segundo elemento.

2

La razón por la que recibe el espacio en blanco de la izquierda es simplemente porque no hay más datos para mostrar a la izquierda del primer elemento (centrado en la vista). Asumiría que el mismo problema surge a la derecha del último artículo también.

Para resolver adecuadamente este uno tendrá que decidir sobre lo que se mostrará cuando no hay más elementos, pero voy a dar algunas ideas:

(1) El aumento de la anchura de los elementos de la galería de la misma anchura que la galería solo mostrará un elemento a la vez, por lo que el usuario nunca podrá desplazarse al espacio vacío.

(2) Para mostrar un color sólido o una imagen en el espacio en blanco, supongo que configurar el atributo android: background de la galería.

(3) Cree un búfer al principio y al final de su adaptador, que consta de los últimos/primeros elementos respectivamente, y cuando el usuario se desplaza lo suficiente en el búfer, salte al elemento correspondiente en el otro extremo del galería para una galería infinita de "carrusel".

+0

Esas son todas las opciones que no funcionarían para mí. Actualmente solo estoy usando un HorizontalScrollView y agrego los elementos dinámicamente para simplemente no tener el espacio en los lados –

+0

Si el elemento de la galería seleccionada no es importante, puede anular los métodos fling y touch en una extensión de galería y evitar desplazarse hasta los elementos finales. (si se seleccionaPosición <2 && tratando de desplazarse hacia la izquierda: regresar; si se seleccionóposition> items-2 && tratando de desplazarse hacia la derecha: regresar;) – Jave

+0

Creo que con un poco de ajuste de todo lo que pude obtener una solución que podría funcionar. Todavía no es ideal, pero es mejor que cualquier otra cosa. –

2

Probar:

int position=1; 

void android.widget.AbsSpinner.setSelection(int position) 
0

establecer el margen de la galería para -(metrics.widthPixels)+itemWidth, el espacio en blanco es piel.

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT); 
params.setMargins(-(metrics.widthPixels)+itemWidth,0,0,0); 
gallery.setLayoutParams(params); 
Cuestiones relacionadas