galería circular android?

Soy un novato en el desarrollo de Android. Ahora me gustaría hacer una vista de galería como una imagen circular como la de abajo. Las cosas son que quiero agrandar la imagen central cuando el usuario se desplaza de izquierda a derecha y de derecha a izquierda. ¿Hay algún tutorial para eso?

enter image description here lo que quiero es que la imagen que se ha borrado necesite agrandarse mientras está en el centro. Pensé que podría hacerlo con Gallery. pero el ejemplo del desarrollador de Android no es el que yo quiero. 🙁

Si desea ampliar la imagen central seleccionada, hay una forma posible de hacerlo. En su método onItemSelected, simplemente llame a una animación para acercar el objeto. La propiedad de la galería es que siempre está centrada. Entonces el elemento central siempre será seleccionado. Espero que eso funcione …

    

Recuerde que tendrá que almacenar la vista anterior, ya que cuando el elemento se aleje del centro, debe ponerse al tamaño normal.

Entonces puede tener dos vistas: prevView y currView.
Haz la animación en el currView.

Gracias,
Sen

puedes probar:

 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; } }} 

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

Para que sea circular, debes pensar que tiene MUCHOS elementos, mucho más de los que realmente tienes.

Y luego al hacer position = position% items.length creas algo así como (lo mostraré para 3 elementos): 1,2,3,1,2,3,1,2,3,1,2,3,1 , 2,3,1,2,3,1,2,3 Y luego ir al centro, así que incluso si el rollo mucho no se acercará hasta el final. 1,2,3,1,2,3,1,2,3, -> 1 <-, 2,3,1,2,3,1,2,3,1,2,3

Para que se seleccione: debe anular setOnItemSelectedListener y manipular el tamaño. no olvides guardar una referencia a tu última vista, así que cuando pases a la siguiente puedes hacer que parezca normal, no ampliada.

Implementé ambos en mi tutorial mencionado anteriormente