Je suis un débutant au développement android.Maintenant, je voudrais faire une vue de la galerie aussi circulaire que l'image comme ci-dessous.Les choses sont que je veux agrandir l'image centrale lorsque l'utilisateur défile de gauche à droite et de droite à gauche. Y a-t-il des tutoriels pour ça? Ce que je veux, c'est que l'image qui a été glissée doit être agrandie lorsqu'elle est au centre. Je pensais pouvoir le faire avec Gallery. mais l'exemple du développeur Android n'est pas celui que je veux. :(galerie circulaire android?
Répondre
Si vous voulez agrandir le centre d'image il y a une façon possible sélectionnée Sur votre méthode onItemSelected, il suffit d'appeler une animation pour agrandir l'objet La propriété de la galerie est qu'il est toujours verrouillé au centre. Ainsi, l'élément central sera toujours sélectionné. espoir qui fonctionnera ..
<?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>
Rappelez-vous que vous devrez sto En ce qui concerne la vue précédente, lorsque l'élément s'éloigne du centre, il doit être mis à la taille normale.
Vous pouvez donc avoir deux vues: prevView et currView.
Faites l'animation sur le currView.
Merci,
Sen
essayer 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;
}
}}
J'ai créé mon propre tutoriel pour cela: http://evgeni-shafran.blogspot.com/2011/08/tutorial-custom-gallery-circular-and.html
Pour qu'il soit circulaire que vous devez faire penser qu'il a beaucoup d'éléments, beaucoup plus de tu as vraiment. Et puis en faisant position = position% items.length vous créez quelque chose comme (je vais le montrer pour 3 items): 1,2,3,1,2,3,1,2,3,1,2 , 3,1,2,3,1,2,3,1,2,3 Et puis allez au milieu, même si le rouleau beaucoup, il ne se rapproche pas de la fin. 1,2,3,1,2,3,1,2,3, -> < -, 2,3,1,2,3,1,2,3,1,2,3
Pour qu'il soit sélectionné: vous devez remplacer setOnItemSelectedListener et manipuler la taille. n'oubliez pas d'enregistrer une référence à votre dernière vue, donc quand vous arrivez à la prochaine, vous pouvez le faire paraître régulier, pas agrandi.
I mis en œuvre tous les deux dans mon tutoriel ci-dessus
- 1. Android automatique circulaire Galerie
- 2. Galerie Android Objet ciblé?
- 3. android galerie sélecteur d'objet
- 4. Comment rendre la galerie circulaire dans jCoverFlip plugin jQuery?
- 5. Android: Animation dans la galerie?
- 6. Galerie de texte sur Android?
- 7. contenu galerie dynamique dans android
- 8. Android: widget Galerie et ombres
- 9. Affichage vide Voir dans la galerie Android
- 10. Photos manquantes dans la galerie sur Android
- 11. Comment faire une galerie personnalisée en android
- 12. widget Galerie Android de défilement infini
- 13. Android: Partage de galerie d'images à l'application
- 14. galerie Android NextFocus ne fonctionne pas
- 15. Galerie avec l'option d'enregistrer l'image, android
- 16. Android SDK - Référence l'application galerie du téléphone?
- 17. Galerie d'images du site distant - Android
- 18. Android: chargement paresseux dans la galerie
- 19. Ajouter des photos à la galerie - Android
- 20. Comment mettre en œuvre une galerie sans fin dans Android?
- 21. Adaptateur de galerie Android avec MultiTouch? Galerie personnalisée ou ImageView personnalisée?
- 22. Fond circulaire d'une mise en page en android
- 23. Possibilité d'une galerie incurvée
- 24. circulaire Référence
- 25. dépendance circulaire
- 26. match circulaire
- 27. Android: Désactiver l'effet 'bounce' dans la galerie personnalisée
- 28. android comment obtenir la galerie de photos de téléphones?
- 29. Documentation du développeur de la galerie Android cooliris
- 30. Android Dev .: Comment peupler galerie par URL d'image?
Salut pengwang, je l'ai déjà essayé vos codes et ça ne change rien. des idées ? – geekmyo
Le code de pengwang * simule * la boucle infinie en étendant la plage –
+1 Merci pour la solution .. !! –