2014-01-08 74 views
0

我已經開始學習開發用於Android操作系統的應用程序。我想在用戶點擊一個按鈕後畫一個圓。我的MainActivity看起來像這樣:點擊按鈕後繪製Android

public class MainActivity extends Activity { 
EditText editText; 
String message; 
TextView display; 
ImageView transOutput; 
Paint paint; 
Canvas c; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    editText = (EditText) findViewById(R.id.editText1); 
    //display = (TextView)findViewById(R.id.display); 

    Button basic_button = (Button) findViewById(R.id.button1); 
    basic_button.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      c = new Canvas(); 
      c.drawColor(Color.CYAN); 
       // smooths 
      paint = new Paint(); 
      paint.setAntiAlias(true); 
      paint.setColor(Color.RED); 
      paint.setStyle(Paint.Style.STROKE); 
      paint.setStrokeWidth(4.5f); 
       // opacity 
       //p.setAlpha(0x80); // 
      c.drawCircle(50, 50, 30, paint); 

     } 
    }); 
} 

我認爲將繪圖函數放在onClick監聽器中會有效。最終我會添加更多的形狀。我錯過了什麼?

回答

2

如果您需要創建一個新的Canvas,那麼您必須定義實際將執行繪製的位圖。

Bitmap b = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888); 
Canvas c = new Canvas(b); 

http://developer.android.com/guide/topics/graphics/2d-graphics.html

+0

難道我也有設置一個ImageView的,爲了這個工作? – Viralgeek

+0

如果要定義圖像視圖,您還可以爲此創建自定義視圖。 – mcd