addContentView를 이용해서 그림를 그린 다음, 버튼이나 타이머를 이용해서 위치와 색상을 변경하려고 하는데요.
여기 게시판을 쭉 검색해봐도 잘 모르겠네요...
일단
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
vm = new MyView(this);
LayoutInflater inflater = getLayoutInflater();
addContentView(vm, new LinearLayout.LayoutParams(320, 480));
}
protected class MyView extends View{
Bitmap bitmap;
public MyView(Context context){
super(context);
}
public void onDraw(Canvas canvas){
Paint Pnt = new Paint();
canvas.drawARGB(0, 255, 255, 255);
Pnt.setColor(0x1fff0000);
canvas.drawCircle(100,90,50,Pnt);
Pnt.setColor(0x1f0000ff);
canvas.drawRect(map_cnt,map_cnt,200,170,Pnt);
Pnt.setColor(Color.BLACK);
canvas.drawText("Canvas Text Out", 10,200,Pnt);
}
}
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case 1:
map_cnt++; // 그림 좌표이동...???
return true;
}
이렇게 해서 vm을 화면에 띄웠는데요.
map_cnt값을 버튼을 누를때 받아와서, 그림의 위치를 이동하려는데...
어떻게 해야할지 모르겠어요...
고수님들의 도움 부탁드립니다... 꾸벅~~
빠른 답변 감사합니다. 제가 초보라... vm을 다시 그리는 것을 어떻게 해야할지를 모르겠네요. 질문이 좀 난잡하네요. 다시 요약하자면,
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
lp.width=50;
lp.height=50;
LayoutInflater inflater = getLayoutInflater();
addContentView(vm, lp);
lp.width=320;
lp.height=240;
map_cnt+=10;
addContentView(vm, lp);
버튼 뭐 이런것과 관계없이 일단 한번 addContentView를 한 상태에서 그 속성을 바꾸려 하는 것인데, 어떻게 다시 그리는지를 모르겠어요. 이렇게 코드를 만들면 에러가 발생하거든요. 다시한번 답변 부탁드립니다. ^^




activity를 상속받은 클래스에서 버튼리스너를 만든 다음에 버튼을 누르게 되면 map_cnt값을 세팅시켜주고 vm을 다시 그려주게 하면 될 것 같네요. 질문한 내용하고 똑같은 답변을 한듯한;;;;; 구체적으로 무엇이 안되는지 설명해주세요.