Android触屏测试实例代码
短信预约 -IT技能 免费直播动态提醒
本文实例详细描述了Android触屏测试代码,可实现对触屏的点击、移动、离开等事件的处理,对于Android初学者有很好的借鉴价值。
具体功能代码如下:
package com.test;
import android.app.Activity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.AbsoluteLayout;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
public class TouchActivity extends Activity {
private ImageView mImageView01;
private int intWidth, intHeight, intDefaultX, intDefaultY;
private float mX, mY;
private int intScreenX, intScreenY;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
intScreenX = dm.widthPixels;
intScreenY = dm.heightPixels;
intWidth = 100;
intHeight = 100;
mImageView01 =(ImageView) findViewById(R.id.myImageView1);
mImageView01.setImageResource(R.drawable.baby);
RestoreButton();
mImageView01.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
RestoreButton();
}
});
}
public boolean onTouchEvent(MotionEvent event)
{
float x = event.getX();
float y = event.getY();
try
{
switch (event.getAction())
{
case MotionEvent.ACTION_DOWN:
picMove(x, y);
break;
case MotionEvent.ACTION_MOVE:
picMove(x, y);
break;
case MotionEvent.ACTION_UP:
picMove(x, y);
break;
}
}catch(Exception e)
{
e.printStackTrace();
}
return true;
}
private void picMove(float x, float y)
{
mX=x-(intWidth/2);
mY=y-(intHeight/2);
if((mX+intWidth)>intScreenX)
{
mX = intScreenX-intWidth;
}
else if(mX<0)
{
mX = 0;
}
else if ((mY+intHeight)>intScreenY)
{
mY=intScreenY-intHeight;
}
else if (mY<0)
{
mY = 0;
}
Log.i("jay", Float.toString(mX)+","+Float.toString(mY));
mImageView01.setLayoutParams
(
new AbsoluteLayout.LayoutParams
(intWidth,intHeight,(int) mX,(int)mY)
);
}
public void RestoreButton()
{
intDefaultX = ((intScreenX-intWidth)/2);
intDefaultY = ((intScreenY-intHeight)/2);
mMakeTextToast
(
"("+
Integer.toString(intDefaultX)+
","+
Integer.toString(intDefaultY)+")",true
);
mImageView01.setLayoutParams
(
new AbsoluteLayout.LayoutParams
(intWidth,intHeight,intDefaultX,intDefaultY)
);
}
public void mMakeTextToast(String str, boolean isLong)
{
if(isLong==true)
{
Toast.makeText(TouchActivity.this, str, Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(TouchActivity.this, str, Toast.LENGTH_SHORT).show();
}
}
}
读者还可以在该实例的基础上完善各种事件的响应处理函数,使其功能更加丰富。
您可能感兴趣的文章:Android 测试入门篇实现android应用程序自动化测试的批处理脚本android模拟器开发和测试nfc应用实例详解Android编程之蓝牙测试实例Android自动测试工具MonkeyAndroid手机上同时安装正式包与测试包的方法
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341