您的位置:首页 > 移动开发 > Android开发

Android简单交互,点击控件时短暂的放大后恢复正常

2015-12-18 17:41 453 查看
原理:监听控件的事件,在touch事件触发是播放放大动画;

说明:在onTouch()事件中,动画的播放要放在对DOWN事件的处理中,不能简单的放在onTouch()的方法里面里了事,那样会有一个多次不均匀触发的bug;

动画放在OnClick方法里也勉强可以,但是有个问题,它在手指抬起时才触发,如果有这样特殊需求的话倒是可以,不过应该很少吧。

MainActivity代码:

private LinearLayout llA;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

llA = (LinearLayout) findViewById(R.id.ll_a);
llA.setFocusableInTouchMode(true);
llA.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.normal_to_large);
v.startAnimation(animation);
break;
}
return false;
}
});
}


动画的代码:

<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:interpolator= "@android:anim/accelerate_decelerate_interpolator"
android:fromXScale="1.0"
android:toXScale="1.2"
android:fromYScale="1.0"
android:toYScale="1.2"
android:pivotX="50%"
android:pivotY="50%"
android:duration="300"
android:repeatCount="0" />
</set>


超简单吧!哈哈,其实细说起来也不少内容,关于不同动画的属性什么的,控件直接可以播放动画这也是知识点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: