Android之屏幕测试

MainActivity:

package com.example.touchscreentest;
 
import android.os.Bundle;
import android.R.layout;
import android.app.Activity;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.LinearLayout;
 
public class MainActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //得到线性布局的容器
        LinearLayout linearLayout=(LinearLayout)findViewById(R.id.a);
       //创建出自定义的View
        final MyView myView=new MyView(this);
      //设置自定义组建的最大宽度和最大高度
        myView.setMinimumHeight(300);
        myView.setMinimumWidth(300);
        myView.setOnTouchListener(new OnTouchListener() {
             
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                // TODO Auto-generated method stub
                //设置位置
                myView.current_x=(int)event.getX();
                myView.current_y=(int)event.getY();
                //设置位置之后开始重新画
                myView.invalidate();
                //返回true则表明已经处理了本事件
                return true;
                 
            }
        });
        linearLayout.addView(myView);
    }
     
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
}
    

  

MyView:

package com.example.touchscreentest;
 
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;
 
public class MyView extends View {
    protected int current_x;
    protected int current_y;
    public MyView(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
    }
    //重画时调用
    @Override
    protected void onDraw(Canvas canvas) {
        // TODO Auto-generated method stub
        super.onDraw(canvas);
        Paint p=new Paint();
        p.setColor(Color.RED);
        canvas.drawCircle(current_x, current_y, 10, p);
    }
 
}

  

执行效果图:

posted @ 2015-12-31 11:28  冷的锋刃  阅读(1063)  评论(4编辑  收藏  举报