मैं एक चुनिंदा परिपत्र ImageView
कैसे बना सकता हूं जैसे कि वर्तमान चित्रों के लिए उपयोग किए गए वर्तमान Google+ ऐप में?चुनिंदा परिपत्र छविदृश्य जैसे Google+
यह वह जगह है कि मैं क्या देखें:
ऊपर छवि नहीं चुना जाता है और नीचे चयनित किया गया है।
loadedImage
Bitmap
जो
mImageView.setBackground(createStateListDrawable());
mImageView.setImageBitmap(createRoundImage(loadedImage));
इस्तेमाल किया तरीकों प्रदर्शित किया जाता है:
मैं प्रोफ़ाइल चित्र 1 1. अब तक के
मेरा काम को दोहराने के लिए कोशिश
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; }
ImageView
का आकार imageSizePx
है और छवि का आकार imageSizePx - 3
है। तो, इसका मतलब है कि पृष्ठभूमि को छवि को ओवरलैप करना चाहिए। जो काम नहीं करता है।
आप की बात कर रहे हैं का एक स्क्रीनशॉट है? – CommonsWare
शायद यह मदद करेगा। http://stackoverflow.com/questions/13108803/android-circle-menu-like-catch-notes – cgTag
@ कॉमन्सवेयर एक मिनट प्रतीक्षा करें। – Leandros