用户点击ImageView时如何提供视觉反馈?

时间:2012-01-23 14:05:15

标签: android user-interface

我在UI中有一个视图,在技术上是RelativeLayout中的扩展ImageView,如果可能的话我宁愿不改变。我想在特定坐标处显示来自资源(具有渐变或框架的小PNG)的Drawable作为用户点击屏幕时的视觉反馈(甚至还有onShowPress回调)。最简单的方法是什么?我不想修改UI膨胀的layout.xml,我也不太热衷于重写onDraw来做额外的工作。

1 个答案:

答案 0 :(得分:4)

使用视图动画类这是一种简单的方法:

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...                            
        }
    });                                     
}});