我正在使用浮動操作按鈕,並在其點擊時更改其圖像。我有一個標誌,我將它存儲在共享偏好中。當它是真正的圖標變成like.png時,當它是假圖標變成dislike.png。更改浮動操作按鈕背景
我想根據標誌變量,但是當應用程序開始的圖標是默認這是true.png
改變它的圖標怎樣可以通過設置共享偏好的圖標?
public class ReadActivity extends AppCompatActivity {
private FloatingActionButton fab;
private boolean flag;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_read);
fab = (FloatingActionButton) findViewById(R.id.fab);
getRate(getWindow().getDecorView().getRootView());
if(flag==false){
fab.setImageResource(R.drawable.like);
}
else if(flag==true){
fab.setImageResource(R.drawable.dislike);
}
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getRate(v);
if(flag==false) {
rateUp();
Snackbar.make(v, "Vote +1", Snackbar.LENGTH_LONG).show();
saveRate(v, true);
fab.setImageResource(R.drawable.dislike);
}
else if(flag==true){
rateDown();
Snackbar.make(v, "Vote -1", Snackbar.LENGTH_LONG).show();
saveRate(v, false);
fab.setImageResource(R.drawable.like);
}
}
});
}
public void rateUp() {};
public void rateDown() {};
public void saveRate(View view, boolean flag){
SharedPreferences sharedPreferences = getSharedPreferences("Rates", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean(id, flag);
editor.commit();
}
public void getRate(View view){
SharedPreferences sharedPreferences = getSharedPreferences("Rates", MODE_PRIVATE);
flag = sharedPreferences.getBoolean(id, false);
}
}
但我想改變的圖標時,應用程序啓動 – Burak
您可以在ReadActivity fab.setBackgroundTintList使用此代碼(ColorStateList.valueOf(彩色 .parseColor( 「#33691E」))); –
我在問一個完全不同的問題 – Burak