Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android dragshadowbuilder阴影大小大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
拖动开始时我尝试增加图像的阴影
我创建了自定义dragshadowbuilder并增加了两倍的大小,但没有任何事情发生.
public class ImageDragShadowBuilder extends View.DragShadowBuilder {

public ImageDragShadowBuilder(View v) {
    super(v);
}


@Override
public void onProvideShadowMetrics(Point shadowSize,Point touchPoint) {
    shadowSize.set(getView().getWidth()*2,getView().getHeight()*2);
    touchPoint.set(getView().getWidth() / 2,getView().getHeight() / 2);

}}

是什么原因?

解决方法

嗯,这在文档中并不是那么清楚.我正在使用给定的构建器来减小大小,你只需要通过乘以你的条件来改变除法;
private static class MyDragShadowBuilder extends View.DragShadowBuilder {

    private Point mScaleFactor;
        // Defines the constructor for myDragShadowBuilder
        public MyDragShadowBuilder(View v) {

            // Stores the View parameter passed to myDragShadowBuilder.
            super(v);

        }

        // Defines a callBACk that sends the drag shadow dimensions and touch point BACk to the
        // system.
        @Override
        public void onProvideShadowMetrics (Point size,Point touch) {
            // Defines local variables
            int width;
            int height;

            // Sets the width of the shadow to half the width of the original View
            width = getView().getWidth() / 2;

            // Sets the height of the shadow to half the height of the original View
            height = getView().getHeight() / 2;

            // Sets the size parameter's width and height values. these get BACk to the system
            // through the size parameter.
            size.set(width,height);
            // Sets size parameter to member that will be used for scaling shadow image.
            mScaleFactor = size;

            // Sets the touch point's position to be in the middle of the drag shadow
            touch.set(width / 2,height / 2);
        }

        @Override
        public void onDrawShadow(Canvas canvas) {

            // Draws the ColorDrawable in the Canvas passed in from the system.
            canvas.scale(mScaleFactor.x/(float)getView().getWidth(),mScaleFactor.y/(float)getView().getHeight());
            getView().draw(canvas);
        }

    }

大佬总结

以上是大佬教程为你收集整理的android dragshadowbuilder阴影大小全部内容,希望文章能够帮你解决android dragshadowbuilder阴影大小所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。