Java 使用切换按钮启动和停止菜单项
这是my MainActivity.java中的代码: 我试图使用切换按钮来切换菜单项的开和关。选中时,菜单项将背景设置为红色。未选择项目时,背景颜色为默认颜色。我是java新手,所以我不确定在Java 使用切换按钮启动和停止菜单项,java,android,android-studio,togglebutton,Java,Android,Android Studio,Togglebutton,这是my MainActivity.java中的代码: 我试图使用切换按钮来切换菜单项的开和关。选中时,菜单项将背景设置为红色。未选择项目时,背景颜色为默认颜色。我是java新手,所以我不确定在onCheckedChange下的if和else语句中放什么。任何建议都会有帮助。 谢谢 XML: 我认为这应该有效: public void setColor(int color, boolean checked) { ConstraintLayout mainLayout = (Constra
onCheckedChange
下的if和else语句中放什么。任何建议都会有帮助。
谢谢
XML:
我认为这应该有效:
public void setColor(int color, boolean checked) {
ConstraintLayout mainLayout = (ConstraintLayout)findViewById(R.id.content1);
mainLayout.setBackgroundColor(color);
redMenuItem.setChecked(checked);
}
对于切换:
toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
setColor(Color.GREEN, true);
} else {
setColor(Color.RED, false);
}
}
});
我不确定颜色是否互换,想法是这样的。我假设您在
onOptionsImetSelected()
中使用的setColor()
中的代码按预期工作。这适用于更改颜色。是否有一种方法可以在切换时取消选择菜单项?菜单项中选择了什么?内部的切换是触发事件的人,不是吗?你的意思是菜单项是否被选中?这就是我应该做的:在MainActivity中添加一个按钮,允许用户切换红色菜单项的开和关。从现在开始,当我点击“切换”时,它实际上不会切换菜单项的开和关
public void setColor(int color, boolean checked) {
ConstraintLayout mainLayout = (ConstraintLayout)findViewById(R.id.content1);
mainLayout.setBackgroundColor(color);
redMenuItem.setChecked(checked);
}
toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
setColor(Color.GREEN, true);
} else {
setColor(Color.RED, false);
}
}
});