最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android自定義View實(shí)現(xiàn)拖拽效果

 更新時間:2020年05月29日 08:57:53   作者:zpf_  
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)拖拽效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

騰訊QQ有那種紅點(diǎn)拖動效果,今天就來實(shí)現(xiàn)一個簡單的自定義View拖動效果,再回到原處,并非完全仿QQ紅點(diǎn)拖動。

先來看一下效果圖

簡單說一下實(shí)現(xiàn)步驟

1.創(chuàng)建一個類繼承View

2.繪制出一個小球

3.重寫onTouchEvent,來根據(jù)手指放下,移動,抬起,來控制小球

4.直接在布局中引用 

先貼一張圖看下View的坐標(biāo)系

下面就貼一下代碼,最后會給出源碼

public class CustomView extends View {
 
 private int lastX;
 private int lastY;
 private int startLeft;
 private int startRight;
 private int startTop;
 private int startBottom;
 
 public CustomView(Context context, @Nullable AttributeSet attrs) {
 super(context, attrs);
 }
 
 @Override
 protected void onDraw(Canvas canvas) {
 super.onDraw(canvas);
 //畫一個小球
 Paint paint = new Paint();
 paint.setStrokeWidth(30);
 paint.setColor(Color.parseColor("#FF0000"));
 paint.setAntiAlias(true);
 paint.setStyle(Paint.Style.FILL_AND_STROKE);
 canvas.drawCircle(getWidth()/2,getHeight()/2,30,paint);
 }
 
 @Override
 public boolean onTouchEvent(MotionEvent event) {
 int action = event.getAction();
 //獲取手機(jī)觸摸的坐標(biāo)
 int x = (int) event.getX();
 int y = (int) event.getY();
 switch (action){
 case MotionEvent.ACTION_DOWN://按下,獲取小球初始的位置
 startLeft = getLeft();
 startRight = getRight();
 startTop = getTop();
 startBottom = getBottom();
 lastX = x;
 lastY = y;
 break;
 case MotionEvent.ACTION_MOVE://移動,小球跟隨手指的移動
 int offsetX = x - lastX;
 int offsetY = y - lastY;
 layout(getLeft()+offsetX,getTop()+offsetY,
 getRight()+offsetX,getBottom()+offsetY);
 break;
 case MotionEvent.ACTION_UP://當(dāng)手指抬起時,回到小球初始的位置
 layout(startLeft, startTop, startRight, startBottom);
 break;
 }
 return true;
 }
}

直接在布局中引用該自定義View就可以,寬高給固定 

源碼地址:Android自定義View簡單拖拽效果

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android編程實(shí)現(xiàn)手機(jī)震動功能的方法

    Android編程實(shí)現(xiàn)手機(jī)震動功能的方法

    這篇文章主要介紹了Android編程實(shí)現(xiàn)手機(jī)震動功能的方法,結(jié)合實(shí)例形式分析了Android實(shí)現(xiàn)手機(jī)震動功能的核心代碼與權(quán)限控制操作技巧,需要的朋友可以參考下
    2017-06-06
  • flutter 自定義card陰影效果及card使用

    flutter 自定義card陰影效果及card使用

    這篇文章主要介紹了flutter 自定義card陰影效果及card使用,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Android 兩個Fragment之間傳遞數(shù)據(jù)實(shí)例詳解

    Android 兩個Fragment之間傳遞數(shù)據(jù)實(shí)例詳解

    這篇文章主要介紹了Android 兩個Fragment之間傳遞數(shù)據(jù)實(shí)例詳解的相關(guān)資料,這里附有實(shí)例代碼,實(shí)現(xiàn)該功能,需要的朋友可以參考下
    2016-12-12
  • android命令行模擬輸入事件(文字、按鍵、觸摸等)

    android命令行模擬輸入事件(文字、按鍵、觸摸等)

    這篇文章主要給大家介紹了關(guān)于android命令行模擬輸入事件,例如文字、按鍵、觸摸等的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對各位android開發(fā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Android使用vcard文件的方法簡單實(shí)例

    Android使用vcard文件的方法簡單實(shí)例

    這篇文章主要介紹了Android使用vcard文件的方法,結(jié)合實(shí)例形式分析了Android針對vcard文件的打開、讀取、寫入等相關(guān)操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • Android 開機(jī)廣播的使用及配置

    Android 開機(jī)廣播的使用及配置

    在配置文件AndroidManifest.xml中向系統(tǒng)注冊receiver,子節(jié)點(diǎn) intent-filter表示接收
    2013-02-02
  • Android仿微信通訊錄滑動快速定位功能

    Android仿微信通訊錄滑動快速定位功能

    這篇文章主要介紹了Android仿微信通訊錄滑動快速定位功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • Android開發(fā)學(xué)習(xí)筆記 淺談WebView

    Android開發(fā)學(xué)習(xí)筆記 淺談WebView

    WebView(網(wǎng)絡(luò)視圖)能加載顯示網(wǎng)頁,可以將其視為一個瀏覽器。它使用了WebKit渲染引擎加載顯示網(wǎng)頁,實(shí)現(xiàn)WebView有以下兩種不同的方法
    2014-11-11
  • kotlin中的數(shù)據(jù)轉(zhuǎn)換方法(示例詳解)

    kotlin中的數(shù)據(jù)轉(zhuǎn)換方法(示例詳解)

    這篇文章介紹了Kotlin中將數(shù)字轉(zhuǎn)換為字符串和字符串轉(zhuǎn)換為數(shù)字的多種方法,包括使用`toString()`、字符串模板、格式化字符串、處理可空類型等,同時,也詳細(xì)講解了如何安全地進(jìn)行字符串到數(shù)字的轉(zhuǎn)換,并處理了不同進(jìn)制和本地化格式的字符串轉(zhuǎn)換,感興趣的朋友一起看看吧
    2025-03-03
  • flutter實(shí)現(xiàn)底部不規(guī)則導(dǎo)航欄

    flutter實(shí)現(xiàn)底部不規(guī)則導(dǎo)航欄

    這篇文章主要為大家詳細(xì)介紹了flutter實(shí)現(xiàn)底部不規(guī)則導(dǎo)航欄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07

最新評論

霍邱县| 巴青县| 汉中市| 茌平县| 恩平市| 文水县| 正蓝旗| 喀喇沁旗| 方城县| 玛纳斯县| 云和县| 大悟县| 汤阴县| 永定县| 鞍山市| 墨玉县| 老河口市| 陆丰市| 大连市| 察隅县| 东源县| 石狮市| 汨罗市| 北辰区| 嘉鱼县| 东丰县| 化州市| 宜川县| 正蓝旗| 昌邑市| 北宁市| 平原县| 江安县| 英吉沙县| 安岳县| 双柏县| 绍兴市| 禹州市| 甘洛县| 嘉峪关市| 开化县|