Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> TouchScreenTest,touchscreensly.com

TouchScreenTest,touchscreensly.com

編輯:關於android開發

TouchScreenTest,touchscreensly.com


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);
    }

}

執行效果圖:

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved