android.view.View#DragShadowBuilder ( )源码实例Demo

下面列出了android.view.View#DragShadowBuilder ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: user-interface-samples   文件: MainActivity.java
@Override
public boolean onLongClick(View v) {
    TextView thisTextView = (TextView) v;
    String dragContent = "Dragged Text: " + thisTextView.getText();

    //Set the drag content and type.
    ClipData.Item item = new ClipData.Item(dragContent);
    ClipData dragData = new ClipData(dragContent,
            new String[] {ClipDescription.MIMETYPE_TEXT_PLAIN}, item);

    //Set the visual look of the dragged object.
    //Can be extended and customized. Default is used here.
    View.DragShadowBuilder dragShadow = new View.DragShadowBuilder(v);

    // Starts the drag, note: global flag allows for cross-application drag.
    v.startDragAndDrop(dragData, dragShadow, null, DRAG_FLAG_GLOBAL);

    return false;
}
 
源代码2 项目: cannonball-android   文件: PoemBuilderActivity.java
public boolean onTouch(View view, MotionEvent motionEvent) {
    if (motionEvent.getAction() == MotionEvent.ACTION_DOWN &&
            motionEvent.getPointerId(0) == 0) {
        // the getPointerId is to avoid executing something if someone decides to drag with
        // 2 fingers
        final ClipData data = ClipData.newPlainText("word", (String) view.getTag());
        final View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view);
        view.startDrag(data, shadowBuilder, view, 0);
        view.setVisibility(View.GONE);
        return true;
    } else if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
        // it is a tap, if the touch was quick enough to cancel the execution
        // of ACTION_DOWN, we should consider as a tap too.
        final FlowLayout parent = (FlowLayout) view.getParent();
        if (parent.getId() == R.id.words_container) {
            moveView(wordsContainer, poemContainer, view);
        } else {
            moveView(poemContainer, wordsContainer, view);
        }
        return true;
    } else {
        return false;
    }
}
 
源代码3 项目: RemoteControlView   文件: Tools.java
public static void startDrag(View view){
    DraggableInfo tag = (DraggableInfo) view.getTag();
    if (tag == null){
        tag = new DraggableInfo("Text", 0, 0, 1);
    }
    Intent intent = new Intent();
    intent.putExtra("data", tag);
    ClipData dragData = ClipData.newIntent("value", intent);
    View.DragShadowBuilder myShadow = new View.DragShadowBuilder(view);
    // 震动反馈,不需要震动权限
    view.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS, HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
        view.startDragAndDrop(dragData, myShadow, null, 0);
    }else{
        view.startDrag(dragData, myShadow, null, 0);
    }
}
 
源代码4 项目: LaunchTime   文件: MainActivity.java
private void startDragCategory(View view, String category) {
    ClipData data = ClipData.newPlainText(category, category);
    View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view);
    //view.startDrag(data, shadowBuilder, view, 0);

    boolean dragstarted;
    if (Build.VERSION.SDK_INT>=24) {
        dragstarted = view.startDragAndDrop(data, shadowBuilder, view, 0);
    } else {
        dragstarted = view.startDrag(data, shadowBuilder, view, 0);
    }

    if (dragstarted) {
        mDragDropSource = mCategoriesLayout;
        if (!Categories.isSpeacialCategory(category)) {
            showRemoveDropzone();
        }
        showHiddenCategories();
    }
    cancelHide();
}
 
源代码5 项目: android-anuto   文件: TowerViewControl.java
@Override
public boolean onTouch(View v, MotionEvent event) {
    if (event.getAction() == MotionEvent.ACTION_DOWN) {
        TowerView towerView = (TowerView) v;

        if (mScoreBoard.getCredits() >= towerView.getTowerValue()) {
            mTowerInserter.insertTower(towerView.getTowerName());

            View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder() {
                @Override
                public void onProvideShadowMetrics(Point shadowSize, Point shadowTouchPoint) {
                    shadowSize.set(1, 1);  // must be positive
                }

                @Override
                public void onDrawShadow(Canvas canvas) {
                }
            };
            ClipData data = ClipData.newPlainText("", "");
            towerView.startDrag(data, shadowBuilder, towerView, 0);
        }
    }

    return false;
}
 
@Override
public boolean onLongClick (View view)
{
	try
	{
		App app = (App) view.getTag ();
		AppManager appManager = app.getAppManager ();
		
		int index = appManager.indexOfPinned (app);

		ClipData.Item item = new ClipData.Item (Integer.toString (index));
		ClipData data = new ClipData (Integer.toString (index), new String[]{"text/plain"}, item);
		View.DragShadowBuilder dragShadowBuilder = new View.DragShadowBuilder (view);

		view.startDrag (data, dragShadowBuilder, item, 0);
		appManager.startedDraggingPinnedApp ();
	}
	catch (Exception ex)
	{
		ExceptionHandler exh = new ExceptionHandler (ex);
		exh.show (this.parent);
	}

	return true;
}
 
源代码7 项目: cannonball-android   文件: PoemBuilderActivity.java
public boolean onTouch(View view, MotionEvent motionEvent) {
    if (motionEvent.getAction() == MotionEvent.ACTION_DOWN &&
            motionEvent.getPointerId(0) == 0) {
        // the getPointerId is to avoid executing something if someone decides to drag with
        // 2 fingers
        final ClipData data = ClipData.newPlainText("word", (String) view.getTag());
        final View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view);
        view.startDrag(data, shadowBuilder, view, 0);
        view.setVisibility(View.GONE);
        return true;
    } else if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
        // it is a tap, if the touch was quick enough to cancel the execution
        // of ACTION_DOWN, we should consider as a tap too.
        final FlowLayout parent = (FlowLayout) view.getParent();
        if (parent.getId() == R.id.words_container) {
            moveView(wordsContainer, poemContainer, view);
        } else {
            moveView(poemContainer, wordsContainer, view);
        }
        return true;
    } else {
        return false;
    }
}
 
源代码8 项目: LaunchTime   文件: MainActivity.java
private void startDrag() {

        if (mDragPotential==null) return;

        AppLauncher dragitem = (AppLauncher) mDragPotential.getTag();
        String label = dragitem.getLabel();
        ClipData data = ClipData.newPlainText(label, label);
        View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(mDragPotential);

        boolean dragstarted;
        if (Build.VERSION.SDK_INT>=24) {
            dragstarted = mDragPotential.startDragAndDrop(data, shadowBuilder, mDragPotential, 0);
        } else {
            dragstarted = mDragPotential.startDrag(data, shadowBuilder, mDragPotential, 0);
        }

        if (dragstarted) {
            mBeingDragged = dragitem;
            mDragDropSource = (ViewGroup) mDragPotential.getParent();
            Log.d(TAG, "Drag started: " + dragitem.getActivityName() +  ", source = " + mDragDropSource);
            showCats(true);
            showHiddenCategories();
            // Log.d(TAG, "source = " + mDragDropSource);
            //if (mDragDropSource.getId()!=R.id.icontarget) {
            showRemoveDropzone();
            //}
        }
        mDragPotential = null;

    }
 
源代码9 项目: Taskbar   文件: HomeActivityDelegate.java
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
    if(iconArrangeMode && motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
        startDragIndex = desktopIcons.indexOfChild((ViewGroup) view.getParent());

        ClipData data = ClipData.newPlainText("", "");
        View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view);
        view.startDrag(data, shadowBuilder, view, 0);
        view.setVisibility(View.INVISIBLE);
        return true;
    } else
        return false;
}
 
源代码10 项目: Primary   文件: SortingActivity.java
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
    if (!problemDone && motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
        ClipData data = ClipData.newPlainText(view.getTag().toString(), view.getTag().toString());
        View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view);
        view.startDrag(data, shadowBuilder, view, 0);
        //view.setVisibility(View.INVISIBLE);
        return true;
    } else {
        return false;
    }
}
 
源代码11 项目: UltimateRecyclerView   文件: DragSortAdapter.java
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public final void startDrag(View.DragShadowBuilder dragShadowBuilder) {
    Point shadowSize = new Point();
    Point shadowTouchPoint = new Point();
    dragShadowBuilder.onProvideShadowMetrics(shadowSize, shadowTouchPoint);

    itemView.startDrag(null, dragShadowBuilder,
            new DragInfo(getItemId(), shadowSize, shadowTouchPoint, adapter.getLastTouchPoint()), 0);

    adapter.notifyItemChanged(getAdapterPosition());
}
 
源代码12 项目: android-profile   文件: StoreExampleActivity.java
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
    if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
        ClipData data = ClipData.newPlainText("", "");
        View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view);
        view.startDrag(data, shadowBuilder, view, 0);
        view.setVisibility(View.INVISIBLE);
        return true;
    } else {
        return false;
    }
}
 
源代码13 项目: codeexamples-android   文件: DragActivity.java
public boolean onTouch(View view, MotionEvent motionEvent) {
	if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
		ClipData data = ClipData.newPlainText("", "");
		DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(
				view);
		view.startDrag(data, shadowBuilder, view, 0);
		view.setVisibility(View.INVISIBLE);
		return true;
	} else {
		return false;
	}
}
 
源代码14 项目: codeexamples-android   文件: DragActivity.java
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
	// start move on a touch event
	if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
		ClipData data = ClipData.newPlainText("", "");
		DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view);
		view.startDrag(data, shadowBuilder, view, 0);
		view.setVisibility(View.INVISIBLE);
		return true;
	}
	return false;

}
 
源代码15 项目: codeexamples-android   文件: DragActivity.java
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
	// start move on a touch event
	if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
		ClipData data = ClipData.newPlainText("", "");
		DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view);
		view.startDrag(data, shadowBuilder, view, 0);
		view.setVisibility(View.INVISIBLE);
		return true;
	}
	return false;

}
 
源代码16 项目: UltimateRecyclerView   文件: DragSortAdapter.java
public View.DragShadowBuilder getShadowBuilder(View itemView, Point touchPoint) {
    return new DragSortShadowBuilder(itemView, touchPoint);
}
 
源代码17 项目: UltimateRecyclerView   文件: DragAdatper.java
@Override public View.DragShadowBuilder getShadowBuilder(View itemView, Point touchPoint) {
    return new NoForegroundShadowBuilder(itemView, touchPoint);
}
 
源代码18 项目: OPFIab   文件: TrivialActivity.java
@Override
public View.DragShadowBuilder getShadowBuilder(final View itemView,
                                               final Point touchPoint) {
    return new DragSortShadowBuilder(itemView, touchPoint);
}
 
 方法所在类
 同类方法