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