Как обеспечить визуальную обратную связь, когда пользователь касается ImageView? - PullRequest
3 голосов
/ 23 января 2012

У меня есть представление в пользовательском интерфейсе, которое является технически расширенным ImageView внутри RelativeLayout, которое я бы предпочел не изменять, если это возможно. Я хочу показать Drawable from resources (небольшой PNG с градиентом или рамкой) в определенных координатах в качестве визуальной обратной связи, когда пользователь нажимает на экран (даже есть обратный вызов onShowPress). Какой самый простой способ сделать это? Я не хочу изменять layout.xml, из которого раздувается пользовательский интерфейс, и я не слишком рад переопределению onDraw, чтобы выполнять там дополнительную работу.

1 Ответ

4 голосов
/ 23 января 2012

Это один простой способ сделать это с помощью класса анимации вида:

final ImageView aboutButton =   (ImageView) findViewById(R.id.AboutButton);
aboutButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
    Animation myAnim2 = AnimationUtils.loadAnimation(LaunchActivity.this, R.anim.buttons);              
    aboutButton.startAnimation(myAnim2);
    myAnim2.setAnimationListener(new AnimationListener() {
        public void onAnimationEnd(Animation animation) {

        //do on click after animation ends
        Intent intent = new Intent(LaunchActivity.this, MyDialog.class);
        startActivity(intent);  
        }

        @Override
        public void onAnimationRepeat(Animation animation) {

        }

        @Override
        public void onAnimationStart(Animation animation) {
        //change the backround of the button etc on click etc...                            
        }
    });                                     
}});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...