更改布局背景按钮按

时间:2016-01-20 12:53:47

标签: android background

我有一个按钮,如果你按住手机振动,如果它通过1.5秒改变背景颜色。 但我希望当按下第一个按钮时将颜色变为绿色,如果再次按下则更改为红色,依次按下按钮的时间。

我的代码:

$('.id').each( function( index ) {
    $(this).addClass('item-' + index);
});
问题是这两种颜色不起作用,只能起作用一种颜色,我想知道每次按下按钮时如何制作不同的颜色,红色和绿色。

2 个答案:

答案 0 :(得分:0)

在你的听众中:

btn.setOnTouchListener(new OnTouchListener() {
....
ColorDrawable color = (ColorDrawable) yourView.getBackground();
int colorId = color.getColor();

if(colorId == Color.GREEN)
   mealLayout.setBackgroundColor(Color.RED);
else if(colorId == Color.RED)
   mealLayout.setBackgroundColor(Color.GREEN);
else
   //If not green or red set an optional color
....

试试这个。我唯一不确定的是与colorId和Color.x的比较。您可能需要以不同的方式对此进行比较。尝试记录colorId以查看它是什么让你从那里找到一种正确的方法来将它与一些颜色Color.x进行比较。

你也可以创建一个布尔值,并在你的监听器中检查它是否为假:将背景设置为绿色并将布尔值设置为true。如果布尔值为true,则相同:将background设置为red,将boolean设置为false。

答案 1 :(得分:0)

谢谢,但我已经解决了这个问题:

 if (action == MotionEvent.ACTION_DOWN) {
                esperarYCerrar(MILISEGUNDOS_ESPERA);
                vibrator.vibrate(1500);
            } else if (action == MotionEvent.ACTION_UP) {
                vibrator.cancel();
            }

感谢所有DadoZolic。 我想知道最后一件事,除了改变背景外,很容易添加不同的图像?