我想對我的應用程序收藏夾按鈕就像在GmailAndroid的工作室 - 當處於不同的狀態
所以,當上星的用戶點擊,明星變成黃色,並更改圖像當用戶再次點擊它時,它會恢復正常
我怎樣才能使我的自定義圖像發生這種情況? 我有兩個圖像
當其不被收藏(心臟-grey.png) 並在其收藏(心臟-red.png)
我想對我的應用程序收藏夾按鈕就像在GmailAndroid的工作室 - 當處於不同的狀態
所以,當上星的用戶點擊,明星變成黃色,並更改圖像當用戶再次點擊它時,它會恢復正常
我怎樣才能使我的自定義圖像發生這種情況? 我有兩個圖像
當其不被收藏(心臟-grey.png) 並在其收藏(心臟-red.png)
如果你的明星是一個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);
}
}
});
希望它可以幫助
在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,以確保您得到正確的狀態,每一次。