2013-07-24 35 views
0

工作我已經做了學習的目的一個簡單的機器人塗裝方案,但ontouch行程不拉絲,我已經試過如下: main.java畫布繪製不是在Android的

package com.example.mypen; 

import android.os.Bundle; 
import android.app.Activity; 
import android.graphics.Canvas; 
import android.graphics.Color; 
import android.graphics.Paint; 
import android.graphics.Path; 
import android.view.Menu; 
import android.view.*; 
import android.view.MotionEvent; 

public class MainActivity extends Activity{ 
    private Paint paint = new Paint(); 
     private Path path = new Path(); 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     paint.setAntiAlias(true); 
     paint.setStrokeWidth(6f); 
     paint.setColor(Color.BLACK); 
     paint.setStyle(Paint.Style.STROKE); 
     paint.setStrokeJoin(Paint.Join.ROUND); 
    } 

    public void onDraw(Canvas canvas){ 
     canvas.drawPath(path,paint); 
     } 
    public boolean onTouchEvent(MotionEvent me){ 
     float eventX=me.getX(); 
     float eventY=me.getY(); 

     switch (me.getAction()) { 
     case MotionEvent.ACTION_DOWN: 
      path.moveTo(eventX, eventY); 
      return true; 
     case MotionEvent.ACTION_MOVE: 
      path.lineTo(eventX, eventY); 
      break; 
     case MotionEvent.ACTION_UP: 
      break; 
     } 
     return true; 

    } 

} 
+0

嘗試添加path.close()以防MotionEvent.ACTION_UP: –

+0

http://stackoverflow.com/questions/17781069/android-null-exception-on-calling-function/17781110# 17781110。檢查帖子的編輯部分可能會有所幫助。 – Raghunandan

+0

@ onurtaskin-wrking ............! – jigar

回答

1

嘗試使onTouchEvent方法中的視圖失效

+0

請添加代碼..它說「創建invalidate()方法」...! – jigar

+0

哎呀,我沒有注意到你不使用自定義視圖,所以,你只是creatw自定義視圖︰class MyView extends View ... – pskink

+0

@ pskink-它的工作......謝謝...! – jigar