java按钮随机移动_java – 使按钮移动触摸我们触摸的确切位置

我创建了一个应用程序,其中有一个按钮在触摸它时移动.

5SxcF.png

现在对于onTouch,我实现了一个不同的类.有两个类,一个是主要的CircleMActivity.java,另一个是onTouch.

现在应用程序运行正常,但有一个问题.当我点击按钮并移动它时它正在移动,但按钮和屏幕触摸之间有一个间隙.

我想要的是将它移动到我触摸它的位置,而不是稍后移动或者你可以认为我想要在光标位置完全移动它.

我应该如何实现它?

码:

CircleMActivity.java:

public class CircleMActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_circle_m);

Button b=(Button)findViewById(R.id.btn1);

MultiTouch mtb=new MultiTouch(this);

b.setOnTouchListener(mtb);

}

}

MultiTouch.java:

public class MultiTouch implements OnTouchListener{

float mPrevX,mPrevY;

CircleMActivity cm;

public MultiTouch(CircleMActivity circleMActivity) {

// TODO Auto-generated constructor stub

cm=circleMActivity;

}

@Override

public boolean onTouch(View arg0, MotionEvent arg1) {

// TODO Auto-generated method stub

float currentX,currentY;

int action=arg1.getAction();

switch(action){

case MotionEvent.ACTION_DOWN:

mPrevX = arg1.getX();

mPrevY = arg1.getY();

break;

case MotionEvent.ACTION_MOVE:

currentX = arg1.getRawX();

currentY = arg1.getRawY();

MarginLayoutParams marginParams = new MarginLayoutParams( arg0.getLayoutParams());

marginParams.setMargins((int)( currentX - mPrevX), (int)( currentY - mPrevY),0, 0);

LayoutParams layoutParams = new LinearLayout.LayoutParams(marginParams);

arg0.setLayoutParams(layoutParams);

break;

case MotionEvent.ACTION_CANCEL:

break;

case MotionEvent.ACTION_UP:

break;

}

return true;

}

}

activity_circle.xml:

android:layout_height="match_parent"

android:layout_width="match_parent"

xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:background="#000000"

android:weightSum="100">

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_weight="4.95"

android:background="#fff"

android:orientation="vertical" >

android:id="@+id/editText1"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:hint="X coord"

android:textColor="#ff00ee"

android:inputType="number" >

android:id="@+id/editText2"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:hint="Y coord"

android:textColor="#ff00ee"

android:inputType="number" />

android:id="@+id/editText3"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:hint="Radius"

android:textColor="#ff00ee"

android:inputType="number" />

android:id="@+id/editText4"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:ems="10"

android:textColor="#ff00ee"

android:hint="Colour"

android:inputType="number" />

android:id="@+id/btn1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="4.95"

android:background="@drawable/custom" />

"

那我该怎么做呢?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575791.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL性能优化的最佳经验

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时&#xf…

jspstudy mysql_使用JspStudy集成环境快速部署jsp项目

标签:1. 安装jdk本人网盘资源:https://yunpan.cn/ckZLNbqxkDYYe (提取码:b5e8)去jdk官网下载最新的jdk: http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html2. 配置环境变量:1) 系统变量→新…

java听课笔记(六)

面向对象 对象的概念 什么是对象 一切客观存在的事物都是对象 对象组成 属性,方法 类 描述同类对象的共有的属性和方法 类是创建对象的模板 全局变量 实例变量 有默认值,引用类型是null,基本 局部变量可以暂时屏蔽全局变量 局部变量没有默认值…

IOS7的蛋疼各种收集

------------------ ios7基于viewController隐藏状态条:通过ViewController重载方法返回枚举值的方法来控制状态栏的隐藏和样式。首先,需要在Info.plist配置文件中,增加键:UIViewControllerBasedStatusBarAppearance,并设置为YES&…

mysql sjis 校对乱码_MySQL字符集乱码及解决方案分享

前言字符集是一套符号和编码的规则,不论是在oracle数据库还是在mysql数据库,都存在字符集的选择问题,而且如果在数据库创建阶段没有正确选择字符集,那么可能在后期需要更换字符集,而字符集的更换是代价比较高的操作&am…

php java c_当PHP、Java、C、C++ 这几种编程语言变成汽车是什么样的场景?

在学习和工作中,人们常常会把各种编程语言拿出来做对比,特别是刚刚开始入门学习IT的同学。实际上,每门语言自己的优缺点有时候也正是语言本身的特性,在学习中,我们更应该关心的是应用场景,哪门语言适合哪个…

C#回顾 - 3.NET的IO:字节流

使用 Stream 类管理字节流 使用 FileStream 类管理文件数据 使用 MemoryStream 类管理内存数据 使用 BufferedSream 类提高流性能 3.1 FileStream MemoryStream Seek 定位,寻址 BufferedStream 3.2 管理应用程序数据 文本、流、字符串和二进制数据 管理文本数据和字…

java if 赋值语句_Java中有一种特殊的赋值运算叫做三元运算,它和if-else语句类似....

Java中有一种特殊的赋值运算叫做三元运算,它和if-else语句类似.答:√顺序阀在液压系统中起___作用答:压力开关断电后,机器人关节轴发生了位移,不需要更新转速计数器答:“家乡”对人们的影响包括答:身高 体质…

asp.net datatable 导出为 txt

如下是导出到TXT的方法public static void ToTxt(DataTable dv, string FileName){System.IO.StringWriter sw new System.IO.StringWriter();StringBuilder sb new StringBuilder();//写标题for (int i 0; i < dv.Columns.Count; i){if (i > 0){sb.Append("\t &…

pdftk的使用介绍

首先像下面的一页pdf&#xff0c;如果想把它分成两页&#xff0c;每一页只是一个ppt页面&#xff08;为了在kindle里读比较方便&#xff09;&#xff0c; 那么可以首先用A-pdf page cut, 将pdf 切成这样12个部分 然后我们现在要的只是第5和第8部分。 如何实现只要弟5和第8部分呢…

java throws catch_java中throws与try...catch的区别点

throws是将异常抛出&#xff0c;后续代码不再执行。而try…catch是将异常抛出&#xff0c;并且要继续执行后面的代码。package com.oracle;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class Demo01Exception {/*Excepti…

要提升asp.net工作能力。应急于提升的是哪些技术?

A:使用Web服务去解决分布式开发所遇到的一些共同的问题&#xff0c;以及使用Microsoft .NET WCF有效地建立可扩缩的、分布式的应用程序所需的知识和技能&#xff0c;及 通过使用Microsoft Visual Studio .NET 2008,UDDI使学员能够去构造、开发、使用XML Web Service&#xff0c…

java 多线程 notify_Java多线程8:wait()和notify()/notifyAll()

轮询线程本身是操作系统中独立的个体&#xff0c;但是线程与线程之间不是独立的个体&#xff0c;因为它们彼此之间要相互通信和协作。想像一个场景&#xff0c;A线程做int型变量i的累加操作&#xff0c;B线程等待i到了10000就打印出i&#xff0c;怎么处理&#xff1f;一个办法就…

详解http和https的区别

详解http和https的区别 &#xff08;转自http://www.jzxue.com/jianzhanzhinan/jianzhanrumen/201103/29-6925.html&#xff09; http与https有什么区别呢&#xff1f;本文详解http和https的区别。 只要上过网的朋友一定接触过“HTTP”&#xff0c;每次开网页的 时候&#xff0…

ntlm java_深讨Java SE 6 在 HTTP 方面的新特性(NTLM)

概述Java 语言从诞生的那天起&#xff0c;就非常注重网络编程方面的应用。随着互联网应用的飞速发展&#xff0c;Java 的基础类库也不断地对网络相关的 API 进行加强和扩展。在 Java SE 6 当中&#xff0c;围绕着 HTTP 协议出现了很多实用的新特性&#xff1a;NTLM 认证提供了一…

76Byte让你的JQuery更快

原文链接&#xff1a;http://james.padolsey.com/javascript/76-bytes-for-faster-jquery/ When jQuery fires a callback function, whether it is an event handler, an each iterator, or a filter function, it will normally give you a DOM element as the function’s c…

价差 量差

这两个概念属于成本控制的范畴 成本控制有广义和狭义之分&#xff1b; 广义&#xff1a;生产经营各个环节和各个方面全过程的限制 狭义&#xff1a;生产阶段产品成本控制 标准成本就是通过一些方法制定的在有效的经营条件下应该实现的成本&#xff0c;根据产品的耗费标准和耗费…

java response 输出流_java-springmvc+filter 替换输出流、response、响应内容

java-springmvcfilter 替换输出流、response、响应内容一、问题1.描述&#xff1a;在使用 filter 替换、修改 response 输出内容时常见的错误如下异常提示getWriter() has already been called for this responsegetOutputStream() has already been called for this response2…

c# 关于WebBrowser的模拟提交InvokeMember方法是什么意思!

一开始接触InvokeMember方法我以为他就是向页面插入javascript脚本&#xff01;然后我想找系统帮我插入的这个脚本&#xff0c;不过找不到&#xff01;&#xff0c;因为我不理解模拟这个词&#xff01;哈哈 其实呢&#xff0c;不是这样子的&#xff01; InvokeMember("cli…

java继续_Java中消除实现继续和面向接口编程

在匆忙之际理清消除实现继续和面向接口编程这样两个大题目可不是一件轻易的事情&#xff0c;尤其考虑到自身的熟悉水平。坦白的说&#xff0c;这又是一篇“炒冷饭”的文章&#xff0c;但这“冷饭”又确实不好炒。因此&#xff0c;在阅读了这篇文章之后&#xff0c;你可要批判地…