Android实现控件View移动控制。
16lz
2021-12-04
看文章
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="可以滑动"/>
更多相关文章
- android9.0修复无锁屏时休眠后马上亮屏,ui界面点击或滑动无响应
- 数据短信接收
- ScrollView的使用
- 去除警告 Android(安卓)NDK: WARNING: APP_PLATFORM Android-14
- Android(安卓)实现 WheelView
- GitHub 优秀的 Android(安卓)开源项目 淘宝技术牛p博客整理开发
- 第五章 Android(安卓)Scroll 分析
- 使用 Eclipse PhoneGap 构建 Android(安卓)应用程序入门
- Android(安卓)viewpager 实现画廊效果 左右可见部分子view