当前位置: 首页>>代码示例>>Java>>正文


Java DraweeView类代码示例

本文整理汇总了Java中com.facebook.drawee.view.DraweeView的典型用法代码示例。如果您正苦于以下问题:Java DraweeView类的具体用法?Java DraweeView怎么用?Java DraweeView使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


DraweeView类属于com.facebook.drawee.view包,在下文中一共展示了DraweeView类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: Attacher

import com.facebook.drawee.view.DraweeView; //导入依赖的package包/类
public Attacher(DraweeView<GenericDraweeHierarchy> draweeView) {
    mDraweeView = new WeakReference<>(draweeView);
    draweeView.getHierarchy().setActualImageScaleType(ScalingUtils.ScaleType.FIT_CENTER);
    draweeView.setOnTouchListener(this);
    mScaleDragDetector = new ScaleDragDetector(draweeView.getContext(), this);
    mGestureDetector = new GestureDetectorCompat(draweeView.getContext(),
            new GestureDetector.SimpleOnGestureListener() {
                @Override public void onLongPress(MotionEvent e) {
                    super.onLongPress(e);
                    if (null != mLongClickListener) {
                        mLongClickListener.onLongClick(getDraweeView());
                    }
                }
            });
    mGestureDetector.setOnDoubleTapListener(new DefaultOnDoubleTapListener(this));
}
 
开发者ID:lanyuanxiaoyao,项目名称:PicKing,代码行数:17,代码来源:Attacher.java

示例2: run

import com.facebook.drawee.view.DraweeView; //导入依赖的package包/类
@Override public void run() {

            DraweeView<GenericDraweeHierarchy> draweeView = getDraweeView();
            if (draweeView == null) {
                return;
            }

            float t = interpolate();
            float scale = mZoomStart + t * (mZoomEnd - mZoomStart);
            float deltaScale = scale / getScale();

            onScale(deltaScale, mFocalX, mFocalY);

            if (t < 1f) {
                postOnAnimation(draweeView, this);
            }
        }
 
开发者ID:lanyuanxiaoyao,项目名称:PicKing,代码行数:18,代码来源:Attacher.java

示例3: onDrag

import com.facebook.drawee.view.DraweeView; //导入依赖的package包/类
@Override public void onDrag(float dx, float dy) {

        DraweeView<GenericDraweeHierarchy> draweeView = getDraweeView();

        if (draweeView != null && !mScaleDragDetector.isScaling()) {
            mMatrix.postTranslate(dx, dy);
            checkMatrixAndInvalidate();

            ViewParent parent = draweeView.getParent();
            if (parent == null) {
                return;
            }

            if (mAllowParentInterceptOnEdge
                    && !mScaleDragDetector.isScaling()
                    && !mBlockParentIntercept) {
                if (mScrollEdge == EDGE_BOTH || (mScrollEdge == EDGE_LEFT && dx >= 1f) || (
                        mScrollEdge == EDGE_RIGHT
                                && dx <= -1f)) {
                    parent.requestDisallowInterceptTouchEvent(false);
                }
            } else {
                parent.requestDisallowInterceptTouchEvent(true);
            }
        }
    }
 
开发者ID:LightSun,项目名称:android-photo-picker,代码行数:27,代码来源:Attacher.java

示例4: createDraweeController

import com.facebook.drawee.view.DraweeView; //导入依赖的package包/类
private DraweeController createDraweeController(
        DraweeView draweeView, Uri uri, ControllerListener<ImageInfo> listener) {

    JungleSize size = ImageLoaderUtils.getAppropriateSize(draweeView);
    ImageRequest request = ImageRequestBuilder
            .newBuilderWithSource(uri)
            .setResizeOptions(new ResizeOptions(size.mWidth, size.mHeight))
            .setAutoRotateEnabled(true)
            .build();

    return Fresco.newDraweeControllerBuilder()
            .setUri(uri)
            .setImageRequest(request)
            .setControllerListener(listener)
            .setAutoPlayAnimations(true)
            .setOldController(draweeView.getController())
            .build();
}
 
开发者ID:Android-Jungle,项目名称:android-jungle-framework,代码行数:19,代码来源:FrescoImageLoaderEngine.java

示例5: getAppropriateSize

import com.facebook.drawee.view.DraweeView; //导入依赖的package包/类
@Override
public JungleSize getAppropriateSize(View view, int width, int height) {
    if (!(view instanceof DraweeView)) {
        return null;
    }

    DraweeView draweeView = (DraweeView) view;
    float ratio = draweeView.getAspectRatio();
    if (ratio > 0) {
        if (width > 0) {
            height = (int) (width / ratio);
        } else if (height > 0) {
            width = (int) (height * ratio);
        }
    }

    return new JungleSize(width, height);
}
 
开发者ID:Android-Jungle,项目名称:android-jungle-framework,代码行数:19,代码来源:FrescoImageLoaderEngine.java

示例6: setShotUrl

import com.facebook.drawee.view.DraweeView; //导入依赖的package包/类
public static final void setShotUrl(DraweeView view, String url, String thumbnail/*, BaseControllerListener listener*/) {
        ImageRequest imageRequest = ImageRequestBuilder.newBuilderWithSource(Uri.parse(url))
//                .setResizeOptions(
//                        new ResizeOptions(300, 400))
                .setProgressiveRenderingEnabled(true)
                .build();
        ImageRequest lowRequest = null;
        if (!TextUtils.isEmpty(thumbnail)) {
            lowRequest = ImageRequest.fromUri(thumbnail);
        }
        DraweeController draweeController = Fresco.newDraweeControllerBuilder()
                .setImageRequest(imageRequest)
                .setLowResImageRequest(lowRequest)
                .setOldController(view.getController())
                .setAutoPlayAnimations(true)
//                .setControllerListener(listener)
                .build();
        view.setController(draweeController);
    }
 
开发者ID:goodev,项目名称:droidddle,代码行数:20,代码来源:FrescoUtils.java

示例7: Attacher

import com.facebook.drawee.view.DraweeView; //导入依赖的package包/类
public Attacher(DraweeView<GenericDraweeHierarchy> draweeView) {
    mDraweeView = new WeakReference<>(draweeView);
    draweeView.getHierarchy().setActualImageScaleType(ScalingUtils.ScaleType.FIT_CENTER);
    draweeView.setOnTouchListener(this);
    mScaleDragDetector = new ScaleDragDetector(draweeView.getContext(), this);
    mGestureDetector = new GestureDetectorCompat(draweeView.getContext(),
            new GestureDetector.SimpleOnGestureListener() {
                @Override
                public void onLongPress(MotionEvent e) {
                    super.onLongPress(e);
                    if (null != mLongClickListener) {
                        mLongClickListener.onLongClick(getDraweeView());
                    }
                }
            });
    mGestureDetector.setOnDoubleTapListener(new DefaultOnDoubleTapListener(this));
}
 
开发者ID:gzsll,项目名称:TLint,代码行数:18,代码来源:Attacher.java

示例8: onDrag

import com.facebook.drawee.view.DraweeView; //导入依赖的package包/类
@Override
public void onDrag(float dx, float dy) {

    DraweeView<GenericDraweeHierarchy> draweeView = getDraweeView();

    if (draweeView != null && !mScaleDragDetector.isScaling()) {
        mMatrix.postTranslate(dx, dy);
        checkMatrixAndInvalidate();

        ViewParent parent = draweeView.getParent();
        if (parent == null) {
            return;
        }

        if (mAllowParentInterceptOnEdge
                && !mScaleDragDetector.isScaling()
                && !mBlockParentIntercept) {
            if (mScrollEdge == EDGE_BOTH || (mScrollEdge == EDGE_LEFT && dx >= 1f) || (mScrollEdge
                    == EDGE_RIGHT && dx <= -1f)) {
                parent.requestDisallowInterceptTouchEvent(false);
            }
        } else {
            parent.requestDisallowInterceptTouchEvent(true);
        }
    }
}
 
开发者ID:gzsll,项目名称:TLint,代码行数:27,代码来源:Attacher.java

示例9: run

import com.facebook.drawee.view.DraweeView; //导入依赖的package包/类
@Override
public void run() {

    DraweeView<GenericDraweeHierarchy> draweeView = getDraweeView();
    if (draweeView == null) {
        return;
    }

    float t = interpolate();
    float scale = mZoomStart + t * (mZoomEnd - mZoomStart);
    float deltaScale = scale / getScale();

    onScale(deltaScale, mFocalX, mFocalY);

    if (t < 1f) {
        postOnAnimation(draweeView, this);
    }
}
 
开发者ID:gzsll,项目名称:TLint,代码行数:19,代码来源:Attacher.java

示例10: onSingleTapConfirmed

import com.facebook.drawee.view.DraweeView; //导入依赖的package包/类
@Override public boolean onSingleTapConfirmed(MotionEvent e) {

        if (mAttacher == null) {
            return false;
        }
        DraweeView<GenericDraweeHierarchy> draweeView = mAttacher.getDraweeView();
        if (draweeView == null) {
            return false;
        }

        if (mAttacher.getOnPhotoTapListener() != null) {
            final RectF displayRect = mAttacher.getDisplayRect();

            if (null != displayRect) {
                final float x = e.getX(), y = e.getY();
                if (displayRect.contains(x, y)) {
                    float xResult = (x - displayRect.left) / displayRect.width();
                    float yResult = (y - displayRect.top) / displayRect.height();
                    mAttacher.getOnPhotoTapListener().onPhotoTap(draweeView, xResult, yResult);
                    return true;
                }
            }
        }

        if (mAttacher.getOnViewTapListener() != null) {
            mAttacher.getOnViewTapListener().onViewTap(draweeView, e.getX(), e.getY());
            return true;
        }

        return false;
    }
 
开发者ID:lanyuanxiaoyao,项目名称:PicKing,代码行数:32,代码来源:DefaultOnDoubleTapListener.java

示例11: setScale

import com.facebook.drawee.view.DraweeView; //导入依赖的package包/类
@Override public void setScale(float scale, float focalX, float focalY, boolean animate) {
    DraweeView<GenericDraweeHierarchy> draweeView = getDraweeView();

    if (draweeView == null || scale < mMinScale || scale > mMaxScale) {
        return;
    }

    if (animate) {
        draweeView.post(new AnimatedZoomRunnable(getScale(), scale, focalX, focalY));
    } else {
        mMatrix.setScale(scale, scale, focalX, focalY);
        checkMatrixAndInvalidate();
    }
}
 
开发者ID:lanyuanxiaoyao,项目名称:PicKing,代码行数:15,代码来源:Attacher.java

示例12: getViewHeight

import com.facebook.drawee.view.DraweeView; //导入依赖的package包/类
private int getViewHeight() {
    DraweeView<GenericDraweeHierarchy> draweeView = getDraweeView();
    if (draweeView != null) {
        return draweeView.getHeight()
                - draweeView.getPaddingTop()
                - draweeView.getPaddingBottom();
    }
    return 0;
}
 
开发者ID:lanyuanxiaoyao,项目名称:PicKing,代码行数:10,代码来源:Attacher.java

示例13: checkMatrixAndInvalidate

import com.facebook.drawee.view.DraweeView; //导入依赖的package包/类
public void checkMatrixAndInvalidate() {

        DraweeView<GenericDraweeHierarchy> draweeView = getDraweeView();

        if (draweeView == null) {
            return;
        }

        if (checkMatrixBounds()) {
            draweeView.invalidate();
        }
    }
 
开发者ID:lanyuanxiaoyao,项目名称:PicKing,代码行数:13,代码来源:Attacher.java

示例14: getDisplayRect

import com.facebook.drawee.view.DraweeView; //导入依赖的package包/类
private RectF getDisplayRect(Matrix matrix) {
    DraweeView<GenericDraweeHierarchy> draweeView = getDraweeView();
    if (draweeView == null || (mImageInfoWidth == -1 && mImageInfoHeight == -1)) {
        return null;
    }
    mDisplayRect.set(0.0F, 0.0F, mImageInfoWidth, mImageInfoHeight);
    draweeView.getHierarchy().getActualImageBounds(mDisplayRect);
    matrix.mapRect(mDisplayRect);
    return mDisplayRect;
}
 
开发者ID:lanyuanxiaoyao,项目名称:PicKing,代码行数:11,代码来源:Attacher.java

示例15: resetMatrix

import com.facebook.drawee.view.DraweeView; //导入依赖的package包/类
private void resetMatrix() {
    mMatrix.reset();
    checkMatrixBounds();
    DraweeView<GenericDraweeHierarchy> draweeView = getDraweeView();
    if (draweeView != null) {
        draweeView.invalidate();
    }
}
 
开发者ID:lanyuanxiaoyao,项目名称:PicKing,代码行数:9,代码来源:Attacher.java


注:本文中的com.facebook.drawee.view.DraweeView类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。