工作内容;
1.拖动控件
2.自定义可拖动的LinearLayout
学习分享:
一、拖动控件的实现步骤:
【前提:控件在RelativeLayout中,或者在GridLayout中】
1.按下图搞懂几个坐标
视图宽度 view.getWidth();
视图高度 view.getHeight()
橘色线:view.getLeft()
蓝色线:view.getRight()
红色线:view.getTop()
粉色线:view.getBottom()
上下左右的偏移都是相对于(0.0)来说的
.
2. MotionEvent类中 getRowX()和 getX()
1、event.getRowX():触摸点相对于屏幕原点的x坐标
2、event.getX(): 触摸点相对于其所在组件原点的x坐标
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