#android
Есть к примеру кнопка серого цвета. Как сделать, чтобы при нажатии на неё, она плавно становилась красной, а при отпускании красный цвет плавно исчезал, и она опять становилась серой?
Ответы
Ответ 1
Попробуйте так. Это пример. values/colors.xml:#ff0000 #a9a9a9 xml activity/fragment(a): activity/fragment: final Button button = findViewById(R.id.button_hello); button.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()){ case MotionEvent.ACTION_DOWN:{ ObjectAnimator colorFade = ObjectAnimator.ofObject(button, "backgroundColor" /*view attribute name*/, new ArgbEvaluator(), getApplicationContext().getResources().getColor(R.color.gray) /*from color*/, getApplicationContext().getResources().getColor(R.color.red) /*to color*/); colorFade.setDuration(1000); colorFade.setStartDelay(200); colorFade.start(); break; } case MotionEvent.ACTION_UP:{ ObjectAnimator colorFade = ObjectAnimator.ofObject(button, "backgroundColor" /*view attribute name*/, new ArgbEvaluator(), getApplicationContext().getResources().getColor(R.color.red) /*from color*/, getApplicationContext().getResources().getColor(R.color.gray) /*to color*/); colorFade.setDuration(1000); colorFade.setStartDelay(200); colorFade.start(); break; } } return false; } });
Комментариев нет:
Отправить комментарий