gpt4 book ai didi

android - 如何增加和减少回收站 View 中项目的大小?

转载 作者:行者123 更新时间:2023-11-30 05:03:42 27 4
gpt4 key购买 nike

在我的应用程序中有一个 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 或任何其他 View ,您都不能轻松地走这条路我的建议是您遵循一些最佳实践,基本上该功能是为辅助功能保留的,这是为视力障碍人士提供的某种工具,因此创建如果整个智能手机都没有配置辅助功能,那么一个具有该功能的应用程序将毫无用处,因此您要执行的技术称为放大,需要选择该功能,然后您的应用程序将自动完全按照您的意愿进行操作,而无需额外编程为此,如果您创建该功能,并且有人已经拥有辅助功能,那么您的功能很可能不会在行为中具有优先权。或者根本无法工作。

放大:通过放大,您可以使用辅助功能,这些功能可能对没有残疾的 Android 用户有用。轻击三次以放大或缩小,轻击三次并按住以放大手指下的内容。对年长的用户或与在较小设备上无法很好扩展的应用一起使用很有用。

我建议您访问并查看此文档,以创建出色的用户体验应用。

https://developer.android.com/guide/topics/ui/accessibility

关于android - 如何增加和减少回收站 View 中项目的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57772595/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com