У меня есть кнопка, которая, если вы держите телефон, вибрирует, и если он пройдет 1,5 секунды, измените цвет фона. Но я хочу, чтобы при нажатии первой кнопки изменился зеленый цвет, а если нажать второй раз, чтобы перейти на красный и т. Д. Со временем нажатия кнопки.Изменить фотовую кнопку фона нажмите
Мой код:
public class MainActivity extends Activity {
public static int MILISEGUNDOS_ESPERA = 1500;
private RelativeLayout mealLayout;
private ToggleButton toggle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mealLayout = (RelativeLayout) findViewById(R.id.layout);
final Vibrator vibrator;
vibrator = (Vibrator) getSystemService(MainActivity.VIBRATOR_SERVICE);
Button btn = (Button) findViewById(R.id.button1);
btn.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
esperarYCerrar(MILISEGUNDOS_ESPERA);
if (action == MotionEvent.ACTION_DOWN) {
vibrator.vibrate(1500);
} else if (action == MotionEvent.ACTION_UP) {
vibrator.cancel();
}
return true;
}
});
}
public void esperarYCerrar(int milisegundos) {
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
// acciones que se ejecutan tras los milisegundos
finalizarApp();
cambiarcolor();
}
}, milisegundos);
}
/**
* Finaliza la aplicación
*/
public void finalizarApp() {
mealLayout.setBackgroundColor(Color.RED);
}
public void cambiarcolor() {
ToggleButton button=(ToggleButton) findViewById(R.id.button1);
if (button.isChecked())
mealLayout.setBackgroundColor(Color.GREEN);
else
mealLayout.setBackgroundColor(Color.RED);
}
}
Проблема заключается в том, что эти два цвета не работают, работает только цвет, я хочу знать, как сделать каждый раз, когда вы нажимаете на кнопку поставить другой цвет, красный и зеленый.
В чем проблема? – justDroid
Хорошо, вот что он делает. Но в чем проблема? – Rohit5k2
http://stackoverflow.com/a/2895650/5456493 скажите, работает ли он или нет? – Abhishek