Android实现控件View移动控制。

xiaoxiao2021-02-28  48

看文章 Android中通过ViewHelper.setTranslationY实现View移动控制(NineOldAndroids开源项目) 下载nineoldandroids-2.4.0.jar。导入项目。

public class View extends Button { //记录上次滑动后的坐标值 private int lastX; private int lastY; public MyView(Context context) { super(context); } public MyView(Context context, AttributeSet attrs){ super(context, attrs); } @Override public boolean onTouchEvent(MotionEvent event) { // 获取view相对于手机屏幕的xy值 int x = (int) event.getRawX(); int y = (int) event.getRawY(); switch (event.getAction()) { case MotionEvent.ACTION_DOWN: break; case MotionEvent.ACTION_MOVE: int deltaX = x - lastX; int deltaY = y - lastY; int translationX = (int) (ViewHelper.getTranslationX(this) + deltaX); int translationY = (int) (ViewHelper.getTranslationY(this) + deltaY); ViewHelper.setTranslationX(this, translationX); ViewHelper.setTranslationY(this, translationY); break; case MotionEvent.ACTION_UP: break; default: break; } lastX = x; lastY = y; return true; } }

布局

<com.example.android.View android:id="@+id/view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="可以滑动"/>
转载请注明原文地址: https://www.6miu.com/read-28506.html

最新回复(0)