2014-01-08 69 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