将相同的动画设置为许多按钮

时间:2015-08-30 12:25:26

标签: android animation button

我在按钮的ACTION_DOWNACTION_UP个事件中使用自定义动画。 但是,现在,我手动使用以下代码手动将OnTouchListener设置为每个Button

    myButton.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View yourButton, MotionEvent theMotion) {
            Animation animation;
            switch (theMotion.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    animation = AnimationUtils.loadAnimation(NickNameScreenActivity.this, R.anim.button_down);
                    myButton.startAnimation(animation);
                    break;
                case MotionEvent.ACTION_UP:
                    animation = AnimationUtils.loadAnimation(NickNameScreenActivity.this, R.anim.button_up);
                    myButton.startAnimation(animation);
                    break;
            }
            return false;
        }
    });

这很麻烦,因为我必须为所有按钮重复此操作。

有没有办法自动为所有按钮设置它或者这样做的整洁的XML方式?

1 个答案:

答案 0 :(得分:1)

您可以编写一个扩展Button的自定义视图,并在xml中使用它。也许您可以将NickNameScreenActivity.this替换为getContext()