【发布时间】:2019-09-03 13:17:49
【问题描述】:
在我的应用中有一个 Recyclerview,我想在其中实现用户触摸项目时的放大/缩小效果。我正在使用动画来创建此效果,但它没有按预期工作:
项目仅在我滚动屏幕时放大。
展开时,上方和下方的项目不会移动到展开后的项目以适应屏幕
警报:自定义 CardView 已对其调用 setOnTouchListener 但未覆盖 performClick
onBindViewHolder 内的代码:
myViewHolder.card.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_MOVE){
// Toast.makeText(context, "MOVE ...", Toast.LENGTH_SHORT).show();
return true;
}else if (motionEvent.getAction() == MotionEvent.ACTION_DOWN){
Toast.makeText(context, "DOWN ...", Toast.LENGTH_SHORT).show();
myViewHolder.card.setAnimation(AnimationUtils.loadAnimation(context,R.anim.zoom_in));
return true;
}else if(motionEvent.getAction() == MotionEvent.ACTION_UP){
myViewHolder.card.setAnimation(AnimationUtils.loadAnimation(context,R.anim.zoom_out));
Toast.makeText(context, "UP ...", Toast.LENGTH_SHORT).show();
return true;
}
return false;
}
});
缩小和放大:
<scale
android:duration="750"
android:fromXScale="1.1"
android:fromYScale="1.1"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="1"
android:toYScale="1" >
</scale>
<scale
android:duration="750"
android:fromXScale="1"
android:fromYScale="1"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="1.25"
android:toYScale="1.25" >
</scale>
我怎样才能使物品正确移动?提前致谢。
【问题讨论】:
标签: android android-recyclerview