android - 如何在回收站视图中增加和减少项目的大小?
问题描述
在我的应用程序中有一个 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>
如何使物品正确移动?提前致谢。
解决方案
无论您的 Recyclerview 或其他任何视图如何,您都不能那么容易我的建议是您遵循一些最佳实践,基本上该功能是为辅助功能保留的,是为视力障碍人士提供的某种工具,因此创建一个应用程序如果整个智能手机没有配置辅助功能,那么该功能将毫无用处,因此您要执行的技术称为放大,需要选择该功能,然后您的应用程序将自动按照您的意愿执行,而无需为此编写一些额外的功能,如果您创建了该功能,并且有人已经具有可访问性功能,那么您的功能很可能不会在行为中具有优先权。或者根本不会工作。
放大:通过放大,您可以进入对没有残疾的 Android 用户有用的辅助功能。点按三次可放大或缩小,点按三次并按住可放大手指下的内容。对于老用户或在较小设备上无法很好扩展的应用程序很有用。
我建议您访问并查看此文档,以创建出色的用户体验应用程序。
推荐阅读
- .htaccess - 添加到站点的 .htaccessfile 以使 HTTP 站点变为 HTTPS?
- python - kivy:在幻灯片过渡开始时播放声音并在按下按钮时停止
- ios - 如何让 Mapbox 地图完全离线工作?
- sql - 如何限制laravel中每个类别的结果
- python - 在 Pandas itertuples() 中,字符串 'class' 在 namedtuple 中被转换为 '_1'
- java - 在可完成的未来内/之后抛出异常
- javascript - 在 map 函数上使用 Promise
- ruby - 使用 Mina 从 github 部署到 Digital Ocean - 挂在“获取提交”上
- python - pytest 在具有构造函数的类中运行测试
- c++ - Emacs c ++选项卡写入空格删除