import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.Toast;

public class MainActivity extends Activity {

 int count = 0;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
       
        Button line = (Button)findViewById(R.id.btn_line);
        Button circle = (Button)findViewById(R.id.btn_circle);
        Button rect = (Button)findViewById(R.id.btn_rect);
        Button text = (Button)findViewById(R.id.btn_txt);
       
        View v = (View)findViewById(R.id.action_settings);
       
        LinearLayout ii = (LinearLayout)findViewById(R.id.LinearLayout1);
       
        CustomView cv = new CustomView(MainActivity.this, v.getId()); // v를 통해서 버튼값을 넘겨줌
       
        ii.removeViewAt(1); // 1번 이후 레이아웃 삭제
        ii.addView(cv);  // LinearLayout에 cv라는 View를 추가함
       
        line.setListener(ClickListener);
        circle.setListener(ClickListener);
        rect.setListener(ClickListener);
        text.setListener(ClickListener);
       
        //findViewById(R.id.btn_circle).setListener(new View.Listener(){
       
    }
   
   
   
    View.Listener ClickListener = new View.Listener(){
     
     public void (View v){
      switch(v.getId()){
      case R.id.btn_line :
       Toast.makeText(MainActivity.this, "Line Toast", Toast.LENGTH_SHORT).show();
       //count=0;
       break;
      case R.id.btn_circle :
       Toast.makeText(MainActivity.this,"Circle Toast",Toast.LENGTH_SHORT).show();
       //count=1;
       break;
      case R.id.btn_rect :
       Toast.makeText(MainActivity.this, "Rect Toast", Toast.LENGTH_SHORT).show();
       //count=2;
       break;
      case R.id.btn_txt :
       Toast.makeText(MainActivity.this, "Text Toast", Toast.LENGTH_SHORT).show();
       //count=3;
       break;
      }
     }
    };
   
   
    public class CustomView extends View{
  
     private int v;

  public CustomView(Context context, int v){
         super(context);
         this.v= v;
        }
     
     public void onDraw(Canvas canvas){ // 그리기를 수행하는 메소드
      canvas.drawColor(Color.LTGRAY);
      Paint pnt = new Paint();
      pnt.setColor(Color.BLUE);
      
      switch(v){
      case R.id.btn_line :
       pnt.setColor(Color.BLUE);
       canvas.drawLine(20, 10, 200, 50, pnt);
       break;
      case R.id.btn_circle :
       pnt.setColor(Color.RED);
       canvas.drawCircle(100,90,50,pnt);
       break;
      case R.id.btn_rect :
       pnt.setColor(0x800000ff);
       canvas.drawRect(10,100,200,170,pnt);
       break;
      case R.id.btn_txt :
       pnt.setColor(Color.BLACK);
       canvas.drawText("Canvas Text", 10, 200,pnt);
       break;
      }
     }
    }
   

근데 실행도 안되고 .. 제 생각에 이거 맞는 거 같지 않음... ㅋㅋ

 

R.id.action_settings 이거 같은경우도 xml에 뭘 만들어야 할지 모르겠구.. ㅠ 첨써봐 솔직히 저거 .. 걍 컨트롤 스페이스바 해서 제일 그럴듯 한거 넣은거.. ㅠㅠ 액션은 이렇게 취하면 어떻게 되는건가?? 이렇게 생각해서..


일단 중요한건 실행이 되지않아 ㅠㅠ.. 오류는 없는데 에러가 있음.. 흠.. ㅠㅠ 어케 해야되요 횬님??