Aslında uygulamanızda renkli simgeleri kullanmaya çalışıyorum. Resmi malzeme tasarım ikon paketini here'dan indirdim. Şimdi bu paketteki tüm simgeler beyaz, gri veya siyah. Ama simgelerin farklı bir renk olmasını istiyorum. Sol taraftaki simgeler gibi bir şey this image. Telefon ve posta simgeleri mavidir. Bunu nasıl başarabilirim?Android'de malzeme tasarım simgesi rengini xml'den değiştirmek mümkün müdür?
cevap
Bu .png dosyası. Orada çok sayıda görüntü editörü var. Sadece Sen AppCompat destek kütüphane içinde TintImageView
kullanmak ve daha sonra renklendirilmesi/ImageView boyama basitçe tek renk haline ImageView renklendirmek için android:backgroundTint
arayarak olduğunu yapabilirsiniz parçaları
doldurmak zorunda.
XML
<TintImageView
android:layout_width=""
android:layout_height=""
android:src=""
android:backgroundTint="@color/green"/>
veya
Programlama yoluyla<ImageView
android:tint="the_color_you_want"/>
ImageView yourImageView = findViewById(...) yourImageView.setColorFilter(Context.getColor(your_color_here))
Yani yukarıdaki xml, yeşil renk imageView tonu yeşil görünür ImageView her pikseli renklendirmek anlamına gelir edecektir.
Eğer çekilemez sola değiştirmek istersem, sağ ikon Düzenle için EditText TextView Orada hissettirmenin bir yolu yok! * android: backgroundTint = "@ android: color/holo_blue_bright" * işe yaramaz! –
Simge dosyası .png biçiminde olduğu için, simgeyi oluşturduğunuz aracı kullanarak rengi değiştirmelisiniz. ve ImageAsset kullanarak projeye ekleyin.
Rengi kendim yaratmadım. Google tarafından sağlanan resmi simge paketindeki simgeleri kullanıyorum. Ayrıca kodu kendi içinde yapabilmek mümkün olup olmadığını bilmek istiyorum, – Akshay
kod kullanarak bunu değiştiremezsiniz. ama bu url kesinlikle yardımcı olacaktır. http://goo.gl/a82Peu – satyapol
Aynı şeyi arıyordum ama kodu dinamik olarak değiştirmek için. Umarım bu aynı şeyi arayan birine yardımcı olur.
Simge için bir ImageView oluşturun ve bu görünümde setColorFilter öğesini kullanın. tonu renk görüntüsü değil, bir yedek renk ontop boyanmıştır: simge rengi
<ImageButton
android:layout_width="your value"
android:layout_height="your value"
/* and so on ... */
android:tint="YourColor"
/>
Not deneyin değiştirmek için
ImageView imageViewIcon = (ImageView) listItem.findViewById(R.id.imageViewIcon);
imageViewIcon.setColorFilter(getContext().getResources().getColor(R.color.blue));
benim için çalıştı! – Nischal
. Bu nedenle siyah bir görüntü üzerinde #80ff0000
renk tonu, arka planda% 50 kırmızı değil, siyah üzerine% 50 kırmızı verir. Yani Bu, iOS şablon resimlerine eşdeğer değildir. , FillColor = "# ca0f0f"
Yığın Taşmasına Hoş Geldiniz! Lütfen kodunuzun ne yaptığını ve neden bu sorunu çözeceği konusunda daha fazla açıklama eklemek için yayınınızı düzenlemeyi düşünün. Çoğunlukla sadece kod içeren bir cevap (çalışsa bile) genellikle OP'nin problemlerini anlamasına yardımcı olmaz. Ayrıca, bir tahminde bulunmanız durumunda bir cevap göndermemeniz önerilir. İyi bir cevap, OP'nin sorununu neden çözebileceğine dair makul bir nedene sahip olacaktır. – SuperBiasedMan
<vector android:height="48dp" android:viewportHeight="24.0"
android:viewportWidth="24.0" android:width="48dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#ca0f0f" android:pathData="M3,5v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2V5c0,-1.1 -0.9,-2 -2,-2H5c-1.11,0 -2,0.9 -2,2zm12,4c0,1.66 -1.34,3 -3,3s-3,-1.34 -3,-3 1.34,-3 3,-3 3,1.34 3,3zm-9,8c0,-2 4,-3.1 6,-3.1s6,1.1 6,3.1v1H6v-1z"/>
</vector>
android değiştirerek rengini değiştirmek. gerektiğinde
Sonra kodunuzu ekleyin:imageView.setImageResource(R.drawable.drawable_with_different_color)
DEĞİL: imageView.setBackgroundResource()
Murali söylediklerine ekleme farklı dolgu renkleri ile birden drawables olun:
Eğer ikonun 200 farklı renkte gösterilmesi gerektiğine inanıyorsanız, o zaman çekilebileceğin farklı renklerde 200 ikon koyacak mısın? –
Birçok alternatifler burada zaten bu thread.
Ayrıca Drawable sınıfını kullanabilirsiniz yukarıda benim için hile yaptı rağmen
Resources res = getResources();
Drawable drawable = res.getDrawable(R.drawable.ic_play_circle_filled);
drawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(drawable, getResources().getColor(R.color.colorPrimary));
aşağıdaki gibi kod olmak, ama benim kullanım örneği için: Belki uygun görülmesi kim için bir tane daha ekleyebilirsiniz suggicient XML malzeme simgesi rengini değiştirmek için nasıl android:tint
kullanmaktı
<ImageButton
android:layout_width="YourValue"
android:layout_height="YourValue"
...
android:tint="YourColor" // this line do the magic
/>
Evet, bu mümkün ve bu kütüphaneyi kullanan basit: https://github.com/jrvansuita/IconHandler
Kolayca bu çağırabilirsiniz: "/ kırmızı @ rengi" arka plan =:
Icon.on(yourImageView).color(R.color.your_color).icon(R.mipmap.your_icon).put();
- 1. Etkinliğin başlık çubuğunun rengini FEATURE_CUSTOM_TITLE olmadan değiştirmek mümkün müdür?
- 2. ScrollBar'ın rengini değiştirmek mümkün mü?
- 3. Tüm kullanıcı oturumlarını sonlandırmadan web.config'i değiştirmek mümkün müdür?
- 4. Hata sınıfı adını jQuery validate olarak değiştirmek mümkün müdür?
- 5. S3 nesnesindeki başlıkları tüm nesneyi indirmeden değiştirmek mümkün müdür?
- 6. Paket Ekran Adını ülkeye göre değiştirmek mümkün müdür?
- 7. Otomatik değişkenlerin tahsis alanını C/C++ cinsinden değiştirmek mümkün müdür?
- 8. UIPreviewAction rengini değiştirmek mümkün mü? Ben API gördüğüm şekillendirme için
- 9. PNG dosyası içeren AngularJS Malzeme Simgesi
- 10. açısal malzeme ve md simgesi yönergeleri
- 11. Eclipse Java Editor içindeki bir metin satırının rengini, içeriğine bağlı olarak değiştirmek mümkün müdür? Özellikle düzenleme Java kodu için
- 12. Siparişi Hazırda Beklet Kriterlerinden kaldırmak mümkün müdür?
- 13. Ben malzeme tasarımı Radyal reaksiyon koreografi kılavuz kullanarak rengini değiştirmek benim araç çubuğunu istiyorum
- 14. Yeoman'ın dizin yapısını değiştirmek mümkün mü?
- 15. Angular2 malzeme 'md-simgesi' bilinen bir öğe değildir
- 16. İçe aktarılan ağ malzemesinin malzeme rengini değiştiremezsiniz kod
- 17. Eclipse'de sadece klavye ile çalışmak mümkün müdür?
- 18. Telegram'dan Bot konumuna gitmek mümkün müdür?
- 19. Düğme Rengini Değiştirmek İçin Önyükleme Serisini Kullanma
- 20. Seçilen metin rengini değiştirmek için Internet Explorer'da?
- 21. nasıl farklı fragmanlar metin rengini değiştirmek için
- 22. RatingBar yönünü değiştirmek mümkün mü?
- 23. androidde openssl nasıl kurulur
- 24. Malzeme tasarım bileşeni "bilinen bir öğe değil" Angular2 içinde
- 25. Heroku + Malzeme Tasarım Simgeleri + Raylar Demirbaş Boru Hattı durma
- 26. Android uygulamasında kullanılacak renkli malzeme tasarım simgeleri nasıl edinilir
- 27. Uygulama simgesi rozetini özelleştirmek mümkün mü: Xcode?
- 28. DM komut dosyasında bileşenlerin çizgi stilini değiştirmek mümkün mü?
- 29. İçeriği yüklemeden önce WebBrowser denetiminin arka plan rengini değiştirmek mümkün mü?
- 30. mümkün ben ES_READONLY bayrağı olan bir düzenleme denetimine rengini değiştirmek için basit bir çözüm bulmaya çalışıyorum
Eğer android gibi bir şey denedin mi? – 10101010
Simge dosyası .png biçiminde olduğu için, simgeyi oluşturduğunuz aracı kullanarak rengi değiştirmelisiniz. ve ImageAsset kullanarak projeye ekleyin. – satyapol
@rajatIIT android: arka plan, simgenin etrafında kırmızı bir kutu oluşturur ve simge hala gri renkli kalır. – Akshay