Android的拖放技術

2021-06-20 20:35:03 字數 2238 閱讀 5173

在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...