Android实现控件View移动控制。
16lz
2021-01-23
看文章
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="可以滑动"/>
更多相关文章
- Android UI设计的三种常见布局(LinearLayout、RelativeLayout、Fr
- GitHub 优秀的 Android 开源项目 淘宝技术牛p博客整理开发中最常
- Android五大布局和ConstraintLayout
- Android - 4种基本布局
- 【Android】第7章(2)--布局控件常用的公共属性
- 通过xml布局文件实现按钮改变焦点设置背景图片