use*_*680 0 android colors android-ui android-button
当我点击它时,如何让我的ImageButton改变它的颜色?
我想做这样的事情:
按钮(蓝色) - >单击 - >按钮(红色) - >单击 - >按钮(蓝色) - >单击 - >按钮(红色)
当我点击它切换颜色,当我再次点击它回到原始.
我试过这样做:
mTrashFlag = !mTrashFlag;
ImageButton bt = (ImageButton)findViewById(R.id.trash_button);
if(!mTrashFlag)
{
bt.setBackgroundColor(0x4CB8FB);
}
else
{
bt.setBackgroundColor(0xff0000);
}
Run Code Online (Sandbox Code Playgroud)
但它没有用.它将颜色变为白色,然后我无法再次点击它.
您应该直接传递Color类属性而不是hexa代码:
if(!mTrashFlag)
{
bt.setBackgroundColor(Color.parseColor("#4CB8FB"));
}
else
{
bt.setBackgroundColor(Color.RED);
}
Run Code Online (Sandbox Code Playgroud)
此外,您必须在按钮上注册OnClickListener以在单击时收到通知,因此最终代码为:
bt.setOnClickListener(new View.OnClickListener() {
// 'v' is the clicked view, which in this case can only be your button
public void onClick(View v) {
mTrashFlag = !mTrashFlag;
if (!mTrashFlag)
{
v.setBackgroundColor(Color.parseColor("#4CB8FB"));
}
else
{
v.setBackgroundColor(Color.RED);
}
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5210 次 |
| 最近记录: |