在android3.0以前的版本,拖放乙個檢視需要使用觸控事件,而且拖動到指定區域還需要判斷座標是否落到這一區域,比較麻煩。從android3.0以後,android sdk開始支援檢視的拖放操作。
建立拖動陰影,可以直接使用view.dragshadowbuilder類,也可以繼承view.dragshadowbuilder類,實現自定義的拖動陰影類。
package com.example.firstdragdrop_01;
import android.annotation.suppresslint;
import android.graphics.bitmap;
import android.graphics.bitmap.config;
import android.graphics.canvas;
import android.graphics.color;
import android.graphics.paint;
import android.graphics.point;
import android.graphics.rect;
import android.graphics.drawable.bitmapdrawable;
import android.graphics.drawable.colordrawable;
import android.graphics.drawable.drawable;
import android.view.view;
import android.widget.imageview;
@suppresslint("newapi")
public class mygragshadowbuilder extends view.dragshadowbuilder
@suppresslint("newapi")
//在這個方法中繪製拖動陰影影象,也就是例項化newbitmap變數
@override
public void onprovideshadowmetrics(point shadowsize, point shadowtouchpoint)
super.onprovideshadowmetrics(shadowsize, shadowtouchpoint);
} @override
public void ondrawshadow(canvas canvas)
}
現在來實現主視窗,實現ondraglistener類。
package com.example.firstdragdrop_01;
import android.annotation.suppresslint;
import android.os.bundle;
import android.view.dragevent;
import android.view.menu;
import android.view.view;
import android.view.view.ondraglistener;
import android.widget.framelayout;
import android.widget.framelayout.layoutparams;
import android.widget.imageview;
@suppresslint("newapi")
public class mainactivity extends activity implements ondraglistener
});} @override
public boolean oncreateoptionsmenu(menu menu)
@suppresslint("newapi")
@override
public boolean ondrag(view v, dragevent event)
return true;
}}
布局檔案:fragment_dragdrop_regin。xml
<?xml version="1.0" encoding="utf-8"?>
image.xml
**我注釋的很清楚。看看就可以拖動複製乙個imageview 了,這是一件很神奇的事情。
有關拖放的操作
我們滑鼠選擇檔案的過程中,如何用滑鼠把檔案拖放進入我們的頁面呢?我們需要那些事件。獲取那些內容呢?這裡是效果圖。你好啊,你今年幾歲啊,哈哈,我的今天在 drag something into here 如果想獲得事件需要阻止事件的預設行為 如果不阻止瀏覽器的預設行為是無法執行 drag事件的。我們首...
Android技術分享
android開發必看知識,不看後悔 打包為大家奉上最實用最給力的資源,不看你絕對後悔。最強大的ui特效 奇藝高畫質ui 介面源 搜尋關鍵字飛入飛出效果 水波紋效果,附工程原始碼 效果很好很逼真 特效!超牛x launcher特效 仿360 一鍵優化動畫效果 功能強大的拼圖人生原始碼 最火爆的精品例...
VB的檔案拖放實現
vb中,很多控制項都可以實現拖放功能。拖放功能有內部控制項間的拖放和由程式外部對程式本身的拖放。檔案拖放應該使用oledragdrop事件,而不是dragdrop事件。oledragdrop事件的語法如下 private subobject oledragdrop data as dataobjec...