gpt4 book ai didi

java - 按下时更改 float 操作按钮颜色

转载 作者:行者123 更新时间:2023-12-01 21:50:10 24 4
gpt4 key购买 nike

我想使用 float 操作按钮作为某种最喜欢的按钮,即书签功能。我使用的是 boolean,初始化如下:

boolean favSelected = false;

我的 Activity 将从我的 SQLite 数据库中检索一些信息,以确定 favSelected 是 true 还是 false。如果这是真的,我希望我的工厂是不同的颜色,如果是假的,我希望我的工厂是原始颜色。我试过这个:

    fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(favSelected = false) {
favSelected = true;
fab.setBackgroundTintList(new ColorStateList(new int[][]{new int[]{0}}, new int[]{getResources().getColor(R.color.header_pressed)}));
} else if ( favSelected = true){
favSelected = false;
fab.setBackgroundTintList(new ColorStateList(new int[][]{new int[]{0}}, new int[]{getResources().getColor(R.color.colorPrimary)}));
}

}
});

但是没有成功。预期的功能有点像复选框

最佳答案

尝试使用此代码更改按下状态下的 FAB 颜色:

    int[][] states = new int[][]{
new int[]{android.R.attr.state_pressed},
new int[]{-android.R.attr.state_pressed},
new int[]{android.R.attr.state_focused},
new int[]{-android.R.attr.state_pressed}
};

int[] colors = new int[]{
ContextCompat.getColor(this, R.color.color_pressed),
ContextCompat.getColor(this, R.color.color_normal),
ContextCompat.getColor(this, R.color.color_pressed),
ContextCompat.getColor(this, R.color.color_normal)
};
fab.setBackgroundTintList(new ColorStateList(states, colors));

关于java - 按下时更改 float 操作按钮颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35356208/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com