六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 33|回复: 0

点击button拖动效果

[复制链接]

升级  35.2%

212

主题

212

主题

212

主题

进士

Rank: 4

积分
676
 楼主| 发表于 2013-1-15 02:21:05 | 显示全部楼层 |阅读模式
这个简单的代码段可以熟悉getX(),getRawX()等方法,实现按钮的拖动效果:
package com.example;import android.app.Activity;import android.os.Bundle;import android.widget.Button;import android.view.MotionEvent;import android.view.View;import android.view.View.OnTouchListener;public class ButtonDrag extends Activity {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);final Button btn = (Button) findViewById(R.id.btn_hello);btn.setOnTouchListener(new OnTouchListener() {int[] temp = new int[] { 0, 0 };public boolean onTouch(View v, MotionEvent event) {int eventaction = event.getAction();int x = (int) event.getRawX();int y = (int) event.getRawY();switch (eventaction) {case MotionEvent.ACTION_DOWN:temp[0] = (int) event.getX();temp[1] = (int) event.getY();break;case MotionEvent.ACTION_MOVE:v.layout(x - temp[0], y - temp[1], x + v.getWidth()- temp[0], y + v.getHeight() - temp[1]);// run in non_UI threadv.postInvalidate();break;case MotionEvent.ACTION_UP:break;}return false;}});}}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表