2016-03-26 20 views
0

我想對我的應用程序收藏夾按鈕就像在GmailAndroid的工作室 - 當處於不同的狀態

enter image description here

所以,當上星的用戶點擊,明星變成黃色,並更改圖像當用戶再次點擊它時,它會恢復正常

我怎樣才能使我的自定義圖像發生這種情況? 我有兩個圖像

當其不被收藏(心臟-grey.png) 並在其收藏(心臟-red.png)

回答

0

如果你的明星是一個ImageButton的,你可以做這樣的事情:

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); 
      } 

     } 
    }); 

希望它可以幫助

0

在Java代碼中創建一個布爾標誌:

boolean isSelected = false 

在你的onCreate中設置一個onClickListener(ImageView,Button,不管它是什麼)。裏面的onClick,檢查這樣的標誌:

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

,你也可以保存布爾狀態SharedPreferences,以確保您得到正確的狀態,每一次。