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); } }
执行效果图:
不努力,还要青春干什么?