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에 뭘 만들어야 할지 모르겠구.. ㅠ 첨써봐 솔직히 저거 .. 걍 컨트롤 스페이스바 해서 제일 그럴듯 한거 넣은거.. ㅠㅠ 액션은 이렇게 취하면 어떻게 되는건가?? 이렇게 생각해서..
일단 중요한건 실행이 되지않아 ㅠㅠ.. 오류는 없는데 에러가 있음.. 흠.. ㅠㅠ 어케 해야되요 횬님??
전 모르겠슴다