android实时显示触屏坐标

来源:互联网 发布:js选项卡自动切换 编辑:程序博客网 时间:2024/05/17 15:59

这里是通过自定义view(继承TextView)获取触屏坐标时改变控件内容来实现显示触屏坐标的。

新建一个java文件,命名为MyView:

package com.touchaction;import android.content.*;import android.util.*;import android.widget.*;import android.graphics.*;import android.view.*;public class MyView extends TextView{//定义坐标变量,初始化private float x=0f, y=0f;//三个构造函数public MyView (Context context){super(context);}public MyView (Context context, AttributeSet set){super(context, set);}public MyView (Context context, AttributeSet set, int defStyleAttr){super(context, set, defStyleAttr);}@Overrideprotected void onDraw(Canvas canvas){// TODO: Implement this methodsuper.onDraw(canvas);//改变TextView对象内容setText("坐标("+(int)x+","+(int)y+")");}@Overridepublic boolean onTouchEvent(MotionEvent event){// TODO: Implement this method//修改触屏坐标x = event.getX();y = event.getY();//通知当前控件更新invalidate();//true表示已处理该方法return true;}}

main.xml,使用自定义view,属性改成fill_parent:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:gravity="center"    android:orientation="vertical"    >    <com.touchaction.MyViewandroid:textSize="30dp"android:gravity="center_horizontal"        android:text="@string/hello_world"        android:layout_width="fill_parent"        android:layout_height="fill_parent" /></LinearLayout>


看以下效果图:

原创粉丝点击