android可拖动的控件,Android拖动控件的实现,自定义可拖动的LinearLayout

本文介绍了如何在Android中实现拖动控件,详细讲解了自定义可拖动LinearLayout的步骤,包括理解坐标、监听MotionEvent、实现拖动功能以及自定义DragViewGroup的代码示例。
摘要由CSDN通过智能技术生成

工作内容;

1.拖动控件

2.自定义可拖动的LinearLayout

学习分享:

一、拖动控件的实现步骤:

【前提:控件在RelativeLayout中,或者在GridLayout中】

1.按下图搞懂几个坐标

视图宽度 view.getWidth();

视图高度 view.getHeight()

橘色线:view.getLeft()

蓝色线:view.getRight()

红色线:view.getTop()

粉色线:view.getBottom()

上下左右的偏移都是相对于(0.0)来说的

0d2b7e6c1db23318bdab8a78cd2ab032.png.

2. MotionEvent类中 getRowX()和 getX()

1、event.getRowX():触摸点相对于屏幕原点的x坐标

2、event.getX():    触摸点相对于其所在组件原点的x坐标

7578d165d0e6e790945d3cbdc17b0b6a.png

3.实现控件拖动代码段:【仅用于view,不适合viewGroup】效果:view跟着手指走

//获取屏幕宽高,用于控制控件在屏幕内移动

DisplayMetrics dm = getResources().getDisplayMetrics();

screenWidth = dm.widthPixels;

screenHeight = dm.heightPixels - 100;//这里减去的100是下边的back键和menu键那一栏的高度,看情况而定

//核心代码段【OnTouchListener()的onTouch方法,控件去设置它就可以了】

@Override

public boolean onTouch(View v, Motio

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值