Come posso creare una circolare selezionabile ImageView
come nell'app Google+ corrente utilizzata per le immagini del profilo?Visione circolare circolare selezionabile come Google+
Questo è ciò che mi riferisco a:
L'immagine sopra è selezionata e il sotto è selezionato.
cerco di replicare le immagini del profilo 1 a 1.
Il mio lavoro finora:
loadedImage
è la Bitmap
che viene visualizzato
mImageView.setBackground(createStateListDrawable());
mImageView.setImageBitmap(createRoundImage(loadedImage));
I metodi utilizzati:
private Bitmap createRoundImage(Bitmap loadedImage) {
Bitmap circleBitmap = Bitmap.createBitmap(loadedImage.getWidth(), loadedImage.getHeight(), Bitmap.Config.ARGB_8888);
BitmapShader shader = new BitmapShader(loadedImage, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setShader(shader);
Canvas c = new Canvas(circleBitmap);
c.drawCircle(loadedImage.getWidth()/2, loadedImage.getHeight()/2, loadedImage.getWidth()/2, paint);
return circleBitmap;
}
private StateListDrawable createStateListDrawable() {
StateListDrawable stateListDrawable = new StateListDrawable();
OvalShape ovalShape = new OvalShape();
ShapeDrawable shapeDrawable = new ShapeDrawable(ovalShape);
stateListDrawable.addState(new int[] { android.R.attr.state_pressed }, shapeDrawable);
stateListDrawable.addState(StateSet.WILD_CARD, shapeDrawable);
return stateListDrawable;
}
La dimensione di ImageView
è imageSizePx
e la dimensione dell'immagine è imageSizePx - 3
. Quindi, ciò significa che lo sfondo dovrebbe sovrapporsi all'immagine. Che non funziona
Got uno screenshot di quello che stai riferendo? – CommonsWare
forse questo aiuterà. http://stackoverflow.com/questions/13108803/android-circle-menu-like-catch-notes – cgTag
@CommonsWare Attendi un minuto. – Leandros