Pregunta

Soy un novato en development.Now androide me gustaría hacer la galería Mostrar la circular como imagen como below.The cosas es que quiero para agrandar la imagen central cuando el usuario de desplazamiento de izquierda a derecha y de derecha a izquierda. ¿Hay alguna tutoriales para eso?

introducir descripción de la imagen aquí lo que quiero es la imagen que se ha birlado necesidad de ser ampliada mientras está en el centro. Pensé que podría hacerlo con galería. pero el ejemplo de los desarrolladores de Android no es la que yo quiero. : (

¿Fue útil?

Solución


Si desea ampliar la imagen seleccionada centro hay una forma posible. En su método onItemSelected, simplemente llame a una animación para enfocar el objeto. La propiedad de la galería es que siempre es de centro-bloqueado. Así será siempre selecciona el elemento central. Esperanza de que va a funcionar ..

<?xml version="1.0" encoding="utf-8"?>
<set
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false"
    android:fillAfter="true"
>
<scale 
       android:fromXScale="1.0"
       android:toXScale="1.50"
       android:fromYScale="1.0"
       android:toYScale="1.50"
       android:duration="600"
       android:pivotX="50%"
       android:pivotY="50%"
       android:fillAfter="true"/>

</set>

Recuerde que usted tiene que almacenar la vista previa como cuando el elemento se mueva del centro se debe poner a su tamaño normal.

Así que usted puede tener dos puntos de vista -. PrevView y currView
Hacer la animación en la currView.

Gracias,
Sen

Otros consejos

intento youcan:

public class TestGallery extends Activity {
/** Called when the activity is first created. */
private Integer[] mImageIds = { R.drawable.sample_1, R.drawable.sample_2, R.drawable.sample_3, R.drawable.sample_4 }; 

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Gallery g = (Gallery) findViewById(R.id.gallery); 
    g.setAdapter(new ImageAdapter(this)); 

    g.setOnItemClickListener(new OnItemClickListener() { 
        public void onItemClick(AdapterView parent, View v, int position, long id) { 
            if (position >= mImageIds.length) { 
                position = position % mImageIds.length; 
            } 
            Toast.makeText(TestGallery.this, "" + position, Toast.LENGTH_SHORT).show(); 
        } 
    }); 

}

public class ImageAdapter extends BaseAdapter { 
    int mGalleryItemBackground; 
    private Context mContext; 

    public ImageAdapter(Context c) { 
        mContext = c; 
        TypedArray a = obtainStyledAttributes(R.styleable.Gallery1); 
        mGalleryItemBackground = a.getResourceId(R.styleable.Gallery1_android_galleryItemBackground, 0); 

        a.recycle(); 
    } 

    public int getCount() { 
        return Integer.MAX_VALUE; 
    } 

    public Object getItem(int position) { 
        if (position >= mImageIds.length) { 
            position = position % mImageIds.length; 
        } 
        return position; 
    } 

    public long getItemId(int position) { 
        if (position >= mImageIds.length) { 
            position = position % mImageIds.length; 
        } 
        return position; 
    } 

    public View getView(int position, View convertView, ViewGroup parent) { 
        ImageView i = new ImageView(mContext); 
        if (position >= mImageIds.length) { 
            position = position % mImageIds.length; 
        } 
        i.setImageResource(mImageIds[position]); 
        i.setLayoutParams(new Gallery.LayoutParams(80, 80)); 
        i.setScaleType(ImageView.ScaleType.FIT_XY); 
        i.setBackgroundResource(mGalleryItemBackground); 
        return i; 
    } 

    public int checkPosition(int position) { 
        if (position >= mImageIds.length) { 
            position = position % mImageIds.length; 
        } 
        return position; 
    } 
}}

He creado mi propio tutorial para esto: http://evgeni-shafran.blogspot.com /2011/08/tutorial-custom-gallery-circular-and.html

Para que sea circular, lo que necesita para que sea pensar que tienen una gran cantidad de elementos, mucho más de lo que realmente tiene.

Y a continuación, haciendo la posición = posición% items.length crear algo así como (lo mostraré por 3 artículos): 1,2,3,1,2,3,1,2,3,1,2, 3,1,2,3,1,2,3,1,2,3 Y luego ir a la mitad por lo que incluso si el desplazamiento mucho que no vendrá cerca del extremo. 1,2,3,1,2,3,1,2,3, -> 1 <-, 2,3,1,2,3,1,2,3,1,2 , 3

Para que sea seleccionada: se debe redefinir setOnItemSelectedListener y manipular el tamaño. No se olvide de guardar una referencia a su última vista por lo que cuando se llega a la siguiente puede hacer que se vea normal, no agranda.

Me implementado tanto de esto en mi tutorial mencionados anteriormente

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top