Android:如何防止向下滚动列表时按下按钮的动画?

时间:2015-08-31 05:00:49

标签: android scroll android-imageview

所以我有一个"20150825050353_create_users.rb:21: syntax error, unexpected keyword_end, expecting end-of-input" class CreateUsers < ActiveRecord::Migration def up create_table :users do |t| t.column "first_name", :string, :limit => 25 t.string "last_name", :limit => 50 t.string "email", :default => "", :null => false t.string "password", :limit => 40 t.datetime "created_at" t.datetime "updated_at" t.timestamps null: false end end def down drop_table :users end end 我想用作按钮。当我按下此按钮时,它会向下缩小一点,当我松开它时,按钮会缩小到原始大小。

为此,我将ImageView附加到图片:

onTouchListener

我在@Override public boolean onTouch(View v, MotionEvent event) { Animation anim; int action = event.getAction(); switch (action){ case MotionEvent.ACTION_DOWN: // Scale down ImageView when finger is down anim = AnimationUtils.loadAnimation(getContext(), R.anim.poster_scale_down); v.startAnimation(anim); return true; case MotionEvent.ACTION_UP: // Scale up ImageView when finger is up anim = AnimationUtils.loadAnimation(getContext(), R.anim.poster_scale_normal); v.startAnimation(anim); break; case MotionEvent.ACTION_CANCEL: // Scale up ImageView when action is canceled anim = AnimationUtils.loadAnimation(getContext(), R.anim.poster_scale_normal); v.startAnimation(anim); break; } return false; } 中有一系列这些ImageViews。因此,当我滚动时,它会触发RecyclerView按下我的手指所在位置的动画。这真烦人!

如何防止这种情况?有没有更好的方法将动画添加为ImageView的选择器?

使用大量的解决方法进行编辑:

ACTION_DOWN

滚动时,它将取消列表项目上的当前触摸,因此只需清除动画即可。这并不完美,因为如果你没有足够快地滑动,它仍会导致动画稍微开始

1 个答案:

答案 0 :(得分:0)

单独使用变量维护状态。 例如。首次按下时,将变量设置为true,如果变量为true,则不执行动画。释放后,将变量设置为false。