2016-03-24 23 views
3

Renk tonunun ayarlanması daha önce 23.2.0 da çalışıyordu. Versiyonu 23.2.1 olarak değiştirdiğimde, aşağıdaki kodlar artık ImageView'larımı renklendirmiyor.DrawableCompat.setTint() artık appcompat-v7 ile çalışma 23.2.1

Ben Görüntü görünümünde bir liste

List<ImageView> statusStage = new ArrayList<>(); 

olarak tanımlanan ve aşağıda yöntemi kullanarak görüntü tonu güncelleme var.

public void setStatusStage(int stageComplete, int colorOn) { 
    for (int i = 0; i < statusStage.size(); i++) { 
     ImageView ss = statusStage.get(i); 
     Drawable dr = DrawableCompat.wrap(ss.getDrawable()); 
     DrawableCompat.setTint(dr, colorOn); 
     print("stage Complete:" + stageComplete+", "+i); 
    } 
} 

Şimdi setTint'in farklı yolu var mı? Yeni sürüm için çalışmaya başlamak için kodlarımda neyi değiştirmem gerekiyor?

Hata ile birlikte gelen uygulama sürümü.

compile 'com.android.support:appcompat-v7:23.2.1' 

cevap

0

Burada setImageDrawable() numaralı telefonu aramak istemediniz gibi görünüyor.

public void setStatusStage(int stageComplete, int colorOn) { 
    for (int i = 0; i < statusStage.size(); i++) { 
     ImageView ss = statusStage.get(i); 
     Drawable dr = DrawableCompat.wrap(ss.getDrawable()); 
     DrawableCompat.setTint(dr, colorOn); 
     print("stage Complete:" + stageComplete+", "+i); 
     ss.setImageDrawable(dr); //this part 
    } 
} 

Ben de durumlarını temsil etmesi için setTintList() yerine setTint() kullanımına işaret etmektedir.

+1

Hata, ss.setImageDrawable (dr) ile devam ediyor; Bu hata sadece 23.2.1 ile, ancak önceki sürümlerde değil. –