ठीक है, मैं इस के साथ एक त्वरित खेलने था और हलकों गायब होने का आपकी समस्या देखा। का वर्णन किए बिना आप बिल्कुल सही कोशिश करते हैं, मुझे लगता है कि आपने रंग फ़िल्टर को Drawable
पर अभी तक सेट करने का प्रयास नहीं किया है? (ImageView
के विपरीत, जो केवल BitmapDrawable
के साथ काम करता है)।
ImageView redCircle = (ImageView) findViewById(R.id.circle_red_imageview);
ImageView greenCircle = (ImageView) findViewById(R.id.circle_green_imageview);
ImageView blueCircle = (ImageView) findViewById(R.id.circle_blue_imageview);
// we can create the color values in different ways:
redCircle.getDrawable().setColorFilter(Color.RED, PorterDuff.Mode.MULTIPLY);
greenCircle.getDrawable().setColorFilter(0xff00ff00, PorterDuff.Mode.MULTIPLY);
blueCircle.getDrawable().setColorFilter(getResources().getColor(R.color.blue), PorterDuff.Mode.MULTIPLY);
ShapeDrawable
संपूर्णता के लिए: (मैं आकार ImageView
पर सेट है, नीचे देखें)
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" >
<solid android:color="@android:color/white" />
</shape>
निम्नलिखित बयान के साथ प्रारंभिक रंग के रूप में सफेद एक xml-घोषित ShapeDrawable
के लिए बिल्कुल ठीक काम
और उदाहरण के रूप में ImageView
रों में से एक:
<ImageView
android:id="@+id/circle_red_imageview"
android:layout_width="40dp"
android:layout_height="40dp"
android:padding="5dp"
android:src="@drawable/circle_white" />
दृश्य परिणाम:
स्रोत
2012-04-13 13:20:03
आप [इस संबंधित क्यू एंड ए] (http://stackoverflow.com/questions/4354939/understanding-the-use-of-colormatrix-and-colormatrixcolorfilter-to-modify-a-draw) दिलचस्प लग सकते हैं। –
क्षमा करें, लेकिन मुझे इस प्रश्न से संबंधित कुछ भी नहीं मिला। – aplavin
मुझे यकीन नहीं है कि आप स्वीकृत उत्तर कैसे प्राप्त नहीं कर सकते ... किसी भी तरह, यहां एक और समान विषय है: [लिंक] (http://stackoverflow.com/q/1309629/1029225)। जैसा कि सुझाव दिया गया है, कोशिश करें: 'imgView.setColorFilter (0xff00ffff, पोर्टरडफ.मोड.मल्टीप्ली); '। यदि यह आपकी आवश्यकताओं के अनुरूप नहीं है, तो वहां एक और परिष्कृत समाधान भी प्रस्तावित किया गया है। –