2016-03-26 43 views
0

yılında Gmail'deAndroid Studio - Farklı devlet

enter image description here yıldızı kullanıcı tıklama, yıldız sarı oldu

Yani

, ve benzeri uygulamama favori butonuna sahip olmak istiyorum Görüntüyü değiştir kullanıcı tekrar tıkladığında, normale dön

Bunu özel resmimle gerçekleştirebilir miyim? i var iki resim

onun değil favorilere (kalp-grey.png) ve favorilere (kalp-red.png)

cevap

0

yıldızını bir ımagebutton ise zaman böyle bir şey yapabilirsiniz:

boolean isSelected = false 
:
starSelected.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       //add a condition to detect if it is already a favorite or not 
      if(starSelected.getDrawable() == R.drawable.theimage2) { 
       starSelected.setImageResource(R.drawable.thenewimage); 
      }else{ 
       starSelected.setImageResource(R.drawable.thenewimage2); 
      } 

     } 
    }); 

sizin java kodunda

0

bir boolean bayrak oluşturmasına yardımcı olur Umut

Bir onClickListener'ı, star için onCreate öğesinin içinde ayarlayın (ImageView, Düğme her neyse).

if (isSelected) { 
    // change image src to unselected 
    isSelected = false; 
} else { 
    // change image src to selected 
    isSelected = true; 
} 

ve ayrıca doğru devleti her zaman olsun emin olmak için SharedPreferences ile boolean durumunu kaydedebilirsiniz: onClick içinde, böyle bayrağı olmadığını kontrol edin.