• 爱情文章
  • 亲情文章
  • 友情文章
  • 生活随笔
  • 校园文章
  • 经典文章
  • 人生哲理
  • 励志文章
  • 搞笑文章
  • 心情日记
  • 英语文章
  • 范文大全
  • 作文大全
  • 新闻阅读
  • 当前位置: 山茶花美文网 > 经典文章 > 正文

    苹果手机拖动图标 [Android编程实现图标拖动效果的方法]

    时间:2020-03-14来源:山茶花美文网 本文已影响 山茶花美文网手机站

    Android编程实现图标拖动效果的方法

    本文实例讲述了Android编程实现图标拖动效果的方法。分享给大家供大家参考,具体如下:

    最近优化图标拖动时的速率,稍微有一点点效果,直接把代码贴出来,有兴趣一起讨论的朋友可以给我留言。

    代码如下:

    DragView.java

    package com.android.dragtest;

    import android.content.Context;

    import android.util.AttributeSet;

    import android.util.Log;

    import android.view.MotionEvent;

    import android.view.View;

    import android.widget.FrameLayout;

    public class DragView extends FrameLayout {

    private static final String TAG = "DragView";

    private float X;

    private float Y;

    private View mDragView;

    public DragView(Context context) {

    this(context, null);

    }

    public DragView(Context context, AttributeSet attrs) {

    this(context, attrs, 0);

    }

    public DragView(Context context, AttributeSet attrs, int defStyle) {

    super(context, attrs, defStyle);

    mDragView = new View(context);

    mDragView.setLayoutParams(new LayoutParams(60, 60));

    mDragView.setBackgroundDrawable(getResources().getDrawable(R.drawable.gamecenter));

    mDragView.setVisibility(View.INVISIBLE);

    addView(mDragView);

    }

    public boolean onInterceptTouchEvent(MotionEvent ev) {

    final int action = ev.getAction();

    switch (action) {

    case MotionEvent.ACTION_DOWN:

    Log.d(TAG, "===============>onInterceptTouchEvent ACTION_DOWN");

    break;

    case MotionEvent.ACTION_MOVE:

    Log.d(TAG, "===============>onInterceptTouchEvent ACTION_MOVE");

    break;

    case MotionEvent.ACTION_UP:

    Log.d(TAG, "===============>onInterceptTouchEvent ACTION_UP");

    break;

    }

    return true;

    }

    public boolean onTouchEvent(MotionEvent ev) {

    final int action = ev.getAction();

    X = ev.getX();

    Y = ev.getY();

    switch (action) {

    case MotionEvent.ACTION_DOWN:

    Log.d(TAG, "onTouchEvent ACTION_DOWN");

    yout((int)X - 30, (int)Y - 30, (int)X + 30, (int)Y + 30);

    mDragView.setVisibility(View.VISIBLE);

    break;

    case MotionEvent.ACTION_MOVE:

    Log.d(TAG, "onTouchEvent ACTION_MOVE x:" + X + " Y:" + Y);

    yout((int)X - 30, (int)Y - 30, (int)X + 30, (int)Y + 30);

    break;

    case MotionEvent.ACTION_UP:

    Log.d(TAG, "onTouchEvent ACTION_UP");

    mDragView.setVisibility(View.INVISIBLE);

    break;

    }

    return true;

    }

    }

    DragTestActivity.java

    package com.android.dragtest;

    import android.app.Activity;

    import android.os.Bundle;

    public class DragTestActivity extends Activity {

    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(yout.main);

    }

    }

    main.xml

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical" >

    android:layout_width="match_parent"

    android:layout_height="match_parent">

    希望本文所述对大家Android程序设计有所帮助。

    • 苹果手机拖动图标 [Android编程实现图标拖动效果的方法] 相关文章:
    • 爱情文章
    • 亲情文章
    • 友情文章
    • 随笔
    • 哲理
    • 励志
    • 范文大全