我正在使用浮动操作按钮,并在其点击时更改其图像。我有一个标志,我将它存储在共享偏好中。当它是真正的图标变成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