2017-05-15 16 views
0

でSVG画像をロードし、私はImageViewのにPNG画像形式の描画可能をロードしようと、コードの下で、このImageViewのためのティントカラーを設定を⇒それはを働いている:アンドロイド - ImageViewのための色合いの色を設定する方法は、グライド

imageView1.setImageResource(R.drawable.pngFile); 
imageView1.setColorFilter(getResources().getColor(R.color.colorAccent), android.graphics.PorterDuff.Mode.MULTIPLY); 

Glideを使ってSVGイメージをImageViewに読み込み、その色合いを設定します。 しかし、imageViewにSVGイメージを正常に読み込んだ後、setColorFilter NOT WORKING

私は以下のコードでグライドを使用して別のImageViewのにSVG画像を読み込むことができます:

// Setup RequestBuilder 
requestBuilder = Glide.with(mActivity) 
.using(Glide.buildStreamModelLoader(Uri.class, mActivity), 
InputStream.class) 
.from(Uri.class) 
.as(SVG.class) 
.transcode(new SvgDrawableTranscoder(), PictureDrawable.class) 
.sourceEncoder(new StreamEncoder()) 
.cacheDecoder(new FileToStreamDecoder<SVG>(new SvgDecoder())) 
.decoder(new SvgDecoder()) 
.placeholder(R.drawable.ic_facebook) 
.error(R.drawable.ic_web) 
.animate(android.R.anim.fade_in) 
.listener(new SvgSoftwareLayerSetter<Uri>()); 

// Use RequestBuilder with uri 
Uri uri = Uri.parse("http://upload.wikimedia.org/wikipedia/commons/e/e8/Svg_example3.svg"); 
requestBuilder 
.diskCacheStrategy(DiskCacheStrategy.SOURCE) 
.load(uri) 
.into(imageView2); 

今、私は(成功しimageView2にSVG画像をロードした後)mageView2の色合いの色を変更したい、私は以下試してみましたそれはをコードが、働いていない:

imageView2.setColorFilter(getResources().getColor(R.color.colorAccent), android.graphics.PorterDuff.Mode.MULTIPLY); 

助けてください!このスレッドで

ImageView imageViewIcon = (ImageView) listItem.findViewById(R.id.imageViewIcon); 
imageViewIcon.setColorFilter(getContext().getResources().getColor(R.color.blue)); 

詳細は、それは可能です:あなたは、クラスを変更しようとすることができ

android:tint="@color/colorAccent" 

: 本当にありがとうございました

答えて

0

をアイコンを使用している場合は、多分、これは便利することができAndroidでXMLから素材デザインアイコンの色を変更するには? Material design icon colour from xml

+0

を使用して使用することができます。しかし、私がglideを使ってimageViewにSVGイメージを読み込んだとき、それは動作していません。助けてください! – Sonzero

2

あなたはandroid.support.v7.widget.AppCompatImageViewImageViewを交換し、私はImageViewのにPNG画像形式の描画可能にロードされたときに、このソリューションWORKING

DrawableCompat.setTint(imvageView.getDrawable(), getResources().getColor(R.color.yourcolor)); 
+0

ImageViewに読み込み可能なPNG画像フォームドロワブルを試してみました。コードを使って色合いを設定してください。⇒動作しています。しかし、Glideを使ってSVGイメージをimageViewに読み込んだら、setColorFilterは動作しません。 別の解決策はありますか? – Sonzero

+0

どういう意味ですか?あなたは他の答えについても同じことをコメントします。だからどちらの答えが働くの? –

+0

ImageViewtに読み込み可能なPNG画像フォームを読み込んだときに、3つの方法すべてが動作します。しかし、Glideを使ってSVGイメージをimageViewに読み込むと、3つの方法すべてが動作しません。助けてください ! – Sonzero

関連する問題