标签: drag-and-drop

如何拖动NSStatusItems

你们都知道Mac OS X中的菜单栏(或更好的NSStatusBar).
我可以移动一些项目,而其他项目则不行.

我希望能够拖动我的应用程序的NSStatusItem.

知道如何实现这个吗?

cocoa drag-and-drop nsstatusbar

10
推荐指数
2
解决办法
1536
查看次数

NSView子视图中断拖动操作

我有一个注册拖动操作的NSView.

在该视图中,我有一个子类NSScrollView,它本身有一个NSImageView.

当拖动到原始的NSView上时,一切都很好,除了当我拖动前面提到的NSImageView时,它似乎插入了拖动并且我不能掉到它上面(或者实际上是它下面的视图.

NSScrollView似乎忽略了拖动并允许它进入底层NSView,但是我如何为NSImageView执行此操作以便拖放注册自身,它的superview(NSScrollView)和底层NSView.

cocoa drag-and-drop objective-c nsview

10
推荐指数
1
解决办法
2308
查看次数

检查HTML5拖放文件类型

我想将放置区背景颜色更改为绿色或红色,具体取决于所包含的有效负载拖动是否包含支持的文件类型(JPEG).

  • Gecko和Webkit是否支持确定拖放文件的文件类型?

  • 如何在这两个浏览器中提取文件类型?

我找到了event.dataTransfer.types API,但对于Firefox来说,它似乎填充了application/x-moz-file,因此我觉得我做错了.

javascript html5 drag-and-drop

10
推荐指数
2
解决办法
9813
查看次数

在嵌入式SVG中拖放事件?

是否有可能从网页中的SVG元素接收拖放事件?

我尝试了Google Closure库,但无济于事.

具体来说,假设我的页面包含

<ul id = "list">
  <li class="item" id="item1">foo</li>
  <li class="item">bar</li>
  <li class="item">baz</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我的脚本包含(Clojurescript/C2)

(let [items (select-all ".item")
      lst (select "#list")
      target (fx/DragDrop. lst nil)]
  (dorun (map
    (fn [item]
      (let [source (fx/DragDrop. item nil)]
        (. source (addTarget target))
        (. source (init))))
    items))
  (. target (init)))
Run Code Online (Sandbox Code Playgroud)

然后,我得到拖动图像(鬼),虽然我不设法接收例如通过做拖动事件

(on-raw "#item1" :dragstart (fn [e] (.log js/console (str "dragstart " e))))
Run Code Online (Sandbox Code Playgroud)

使用类似的SVG元素代码,我甚至没有鬼......

任何提示?

谢谢

svg drag-and-drop google-closure clojurescript

10
推荐指数
1
解决办法
1万
查看次数

HTML5拖放dataTransfer和Chrome

以下代码:

<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
#div1 {width:350px;height:70px;padding:10px;border:1px solid #aaaaaa;}
</style>
<script>
function allowDrop(ev)
{
console.log(ev.dataTransfer.getData("Text"));
ev.preventDefault();
}

function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}

function drop(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
</script>
</head>
<body>

<p>Drag the W3Schools image into the rectangle:</p>

<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<br>
<img id="drag1" src="img_logo.gif" draggable="true" ondragstart="drag(event)" width="336" height="69">

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

使用Firefox正确获取dataTransfer对象并在执行event 调用drag1allowDrop函数时返回图像的id()ondragover,但在Chrome中getData返回一个空字符串.这是一个错误还是Chrome只返回活动的有效dataTransfer对象ondrop

html5 drag-and-drop

10
推荐指数
1
解决办法
5589
查看次数

使用拖放重新排序JList

我遇到了有关使用拖放重新排序JList中的元素的问题.以下代码是对代码的修改,您可以将元素从一个JList拖动到另一个JList(仅以一种方式工作).我试图让它只用于一个JList,但是元素甚至不能被拖出列表.所以我想这不可能这样做.我有什么不对的想法?

我的想法是让它为带有缩略图的Jlist工作,但因为我甚至无法让它只用于字符串...我一直在研究几个D'n'D教程,但我仍然不能让它工作.任何帮助表示赞赏.

import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.datatransfer.*;
import java.io.IOException;

public class DragAndDrop extends JFrame {


DefaultListModel<String> transport = new DefaultListModel<String>();
JList<String> transportList = new JList<String>(transport);

public DragAndDrop() {
    setLayout(new FlowLayout());

    transport.addElement("Bike");
    transport.addElement("Car");
    transport.addElement("Truck");
    transport.addElement("Boat");

    JScrollPane transportScroll = new JScrollPane(transportList);
    transportScroll.setBorder(new TitledBorder("Transportation"));

    add(transportScroll);

    transportList.setDragEnabled(true);

    transportList.setTransferHandler(new TransferHandler() {
        int index;  

        @Override
        public int getSourceActions(JComponent comp) {
            return COPY_OR_MOVE;
        }

        @Override
        public Transferable createTransferable(JComponent comp) {
            index = transportList.getSelectedIndex(); 
            return new StringSelection(transportList.getSelectedValue());
        }


        @Override
        public void exportDone( JComponent comp, Transferable …
Run Code Online (Sandbox Code Playgroud)

java swing drag-and-drop jlist java-7

10
推荐指数
2
解决办法
1万
查看次数

如何在recyclerview上启用和禁用拖放

我有一个Recyclerview,允许在编辑模式下拖放项目.一旦用户退出编辑模式,我需要禁用拖放功能.

我试过改变ItemTouchCallback中的东西,包括移动标志和isLongPressDragEnabled无济于事.长按继续开始拖动事件.

我目前的解决方案是分离并重新连接片段,然后再次进入编辑模式时添加回调,但是我希望有一些更清洁的东西,我想念.

打回来:

public class ItemTouchCallback extends ItemTouchHelper.Callback {


private final ItemTouchHelperAdapter mAdapter;

public ItemTouchCallback(ItemTouchHelperAdapter mAdapter) {
    this.mAdapter = mAdapter;
}

@Override
public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
    int dragFlags = ItemTouchHelper.START | ItemTouchHelper.END |ItemTouchHelper.DOWN | ItemTouchHelper.UP;
    return makeMovementFlags(dragFlags, 0);
}

@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
    mAdapter.onItemMove(viewHolder.getAdapterPosition(), target.getAdapterPosition());
    return true;
}

@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {

}

@Override
public boolean isLongPressDragEnabled() {
    return true;
}


@Override
public boolean isItemViewSwipeEnabled() { …
Run Code Online (Sandbox Code Playgroud)

android drag-and-drop android-recyclerview

10
推荐指数
2
解决办法
4727
查看次数

在zip.js完成操作之前,HTML5 ondrop事件返回

我的问题的关键在于我需要异步使用datatransferitemlist,这与规范中描述的功能不一致,即事件结束后您将被锁定在dataTransfer.items集合之外.

https://bugs.chromium.org/p/chromium/issues/detail?id=137231 http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#drag-data -商店

案件罪犯如下.更详细地描述了我的问题和下面的想法.

drophandler: function(event) {
    event.stopPropagation();
    event.preventDefault();
    event.dataTransfer.dropEffect = 'copy';
    zip.workerScriptsPath = "../bower_components/zip.js/WebContent/";
    zip.useWebWorkers = false; // Disabled because it just makes life more complicated
    // Check if files contains just a zip
    if (event.dataTransfer.files[0].name.match(/(?:\.([^.]+))?$/) == 'zip') {
        var reader = new FileReader();
        that = this;
        reader.onload = function(e) {
            that.fire('zipuploaded', e.target.result.split(',')[1]);
        }
        reader.readAsDataURL(event.dataTransfer.files[0]);
        // Rev up that in browser zipping
    } else {
        var that = this;
        var items = event.dataTransfer.items;
        // Async operation, execution falls …
Run Code Online (Sandbox Code Playgroud)

javascript html5 asynchronous drag-and-drop zip.js

10
推荐指数
1
解决办法
241
查看次数

addeventlistener drop error"Uncaught TypeError:Illegal invocation"

我按功能创建新的Object,我创建了sortable要使用的方法,但是在回调函数上有错误

;"use strict";
(function(){
    function libJS(){};

    libJS.prototype = {
        loopElement : function(element, options, callback){
            var libObj = this;
            var goesCallback = function(element, options, callback){
                if (!!callback && libObj.isFunction(callback)) callback(element, options);
            };

            if (libObj.isElement(element)) goesCallback(element, options, callback);
            else if (libObj.isString(element) && /^(\.|\#)[\w\d\-_]+$/g.test(element)){
                if (/^\./g.test(element)){
                    element = document.getElementsByClassName(element.replace('.', ''));
                    var length = element.length || 0, i;
                    for(i = 0; i < length; i++) goesCallback(element[i], options, callback);
                }else{
                    element = document.getElementById(element.replace('#', ''));
                    if (!!element) goesCallback(element, options, callback);
                }
            }
        },

        isElement …
Run Code Online (Sandbox Code Playgroud)

javascript drag-and-drop callback html5sortable

10
推荐指数
1
解决办法
558
查看次数

Android- Textview在拖动操作时消失了

我正在创建一个图像编辑应用程序.在其中我提供设施打开相机或画廊来选择图片.在选择图片时,用户将导航到其他页面.在其他页面显示图片我正在使用一个实现的视图AppCompactImageView.现在,我正在通过使用edittext添加文本.单击软键盘的"完成"按钮,edittext将消失,将被替换为TextView.现在我想在整个布局中拖动这个TextView.但经过下降操作后,它就会消失.以下是我的代码.任何帮助都会很明显.

  1. DrawActivity.java

    public class DrawActivity extends AppCompatActivity {

    DrawView imgView;
    Button resetBtn, saveBtn;
    ImageButton undoBtn;
    Bundle extras;
    Context context;
    EditText addTxtBox;
    ImageView brushImg, fontImg;
    TextView addedTxtView;
    // LinearLayout mainLinear;
    RelativeLayout mainRelative;
    public int rowX, rowY;
    public String txtVal;
    private android.widget.RelativeLayout.LayoutParams layoutParams;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getSupportActionBar().hide();
        setContentView(R.layout.activity_draw);
    
        context = this.getApplicationContext();
    
        mainRelative = (RelativeLayout) findViewById(R.id.relativeLayout1);
        imgView = (DrawView) findViewById(R.id.frag_home_iv_main);
        resetBtn = (Button) findViewById(R.id.clearBtn);
        undoBtn = (ImageButton) findViewById(R.id.undoBtn);
        saveBtn = (Button) findViewById(R.id.saveBtn);
        addTxtBox = (EditText) …
    Run Code Online (Sandbox Code Playgroud)

android drag-and-drop textview

10
推荐指数
1
解决办法
323
查看次数