首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何覆盖boolean PhotoViewAttacher onFling(MotionEvent,MotionEvent,float,float)的限制?

如何覆盖boolean PhotoViewAttacher onFling(MotionEvent,MotionEvent,float,float)的限制?
EN

Stack Overflow用户
提问于 2019-02-18 23:27:11
回答 1查看 48关注 0票数 0

PhotoViewAttacherboolean onFling(MotionEvent, MotionEvent, float, float)阻止我的OnSingleFlingListeneronFling方法被调用,除非当前的scale是最小值。

我从com.github.chrisbanes.photoview实现了OnSingleFlingListener。然而,由于onFling方法只对包可见,所以PhotoViewAttacheronFling方法首先被调用。PhotoViewAttacher.onFling防止在代码时调用我的onFling方法。我需要调用我的除非scale > getMediumScale()。(当我的图像的宽度与窗口的宽度匹配时才调用scale == getMediumScale()。)我如何解决这个问题?我是否需要创建整个PhotoView包的副本并将< scale > DEFAULT_MIN_SCALE >d15scale > getMediumScale()>修改为公共的?

我的代码:

代码语言:javascript
复制
public class BasicViewActivity extends AppCompatActivity implements DownloadCallback, OnSingleFlingListener {
@Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
        . . . 
        return true;
    }

OnSingleFlingListener:

代码语言:javascript
复制
package com.github.chrisbanes.photoview;
public interface OnSingleFlingListener {
    boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY);
}

PhotoViewAttacher:

代码语言:javascript
复制
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
    if (mSingleFlingListener != null) {
        if (getScale() > DEFAULT_MIN_SCALE) {
            return false;
        }
        . . . 
        return mSingleFlingListener.onFling(e1, e2, velocityX, velocityY);
    }
    return false;
}

我希望在getScale() <= getMediumScale()时调用我的onFling。相反,只有在getScale() == DEFAULT_MIN_SCALE时才调用我的onFling方法。

EN

回答 1

Stack Overflow用户

发布于 2019-03-26 21:38:59

我决定解决这个问题。

  1. I克隆了PhotoView包。
  2. I将其源代码复制到了我自己的包中。
  3. I更改了上面提到的一行(并添加了一小部分以防止浮点错误):

如果(getScale()> getMediumScale() + .01f) { return false;}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54750496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档