【问题标题】:Android DragShadowBuilder view refreshAndroid DragShadowBuilder 视图刷新
【发布时间】:2013-08-19 14:35:35
【问题描述】:

我正在我的应用程序中实现拖放功能。 我正在移动 TextView 对象,我正在使用 DragShadowBuilder 为这个 textview 构建阴影。
问题是,有没有办法在拖动项目时更改 textView 文本?我的意思是在 DragEvent.ACTION_DRAG_ENTERED 或 DragEvent.ACTION_DRAG_LOCATION 案例?

【问题讨论】:

    标签: android drag-and-drop textview


    【解决方案1】:
    private static class MyDragShadowBuilder extends View.DragShadowBuilder {
    
    // The drag shadow image, defined as a drawable thing
    private static Drawable shadow;
    
        // Defines the constructor for myDragShadowBuilder
        public MyDragShadowBuilder(View v) {
    
            // Stores the View parameter passed to myDragShadowBuilder.
            super(v);
    
            // Creates a draggable image that will fill the Canvas provided by the system.
            shadow = new ColorDrawable(Color.LTGRAY);
        }
    
        // 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
            private int width, 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;
    
            // The drag shadow is a ColorDrawable. This sets its dimensions to be the same as the
            // Canvas that the system will provide. As a result, the drag shadow will fill the
            // Canvas.
            shadow.setBounds(0, 0, width, height);
    
            // Sets the size parameter's width and height values. These get back to the system
            // through the size parameter.
            size.set(width, height);
    
            // Sets the touch point's position to be in the middle of the drag shadow
            touch.set(width / 2, height / 2);
        }
    
        // Defines a callback that draws the drag shadow in a Canvas that the system constructs
        // from the dimensions passed in onProvideShadowMetrics().
        @Override
        public void onDrawShadow(Canvas canvas) {
    
            // Draws the ColorDrawable in the Canvas passed in from the system.
            shadow.draw(canvas);
        }
    }
    

    Drag n drop android

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-13
      • 2011-08-31
      • 2011-05-04
      • 2020-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-30
      相关资源
      最近更新 更多