안드로이드 개발 질문/답변
(글 수 45,052)
ImageView img;
BestPaintBoard board;//board 작업공간 선언
Button colorBtn;//그림판 도구들 선언
Button penBtn;
Button eraserBtn;
Button undoBtn;
LinearLayout addedLayout;
Button colorLegendBtn;
TextView sizeLegendTxt;
int mColor = 0xff000000;
int mSize = 2;
int oldColor;
int oldSize;
boolean eraserSelected = false;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.paint);
// 내장메모리에서 파일가져와 비트맵 전환하여 이미지뷰에 표시
File f = Environment.getExternalStorageDirectory();
String path = f.getAbsolutePath();
img = (ImageView)findViewById(R.id.ImageView01);
Bitmap bm2 = BitmapFactory.decodeFile(path+"/DCIM/capture.jpeg");
img.setImageBitmap(bm2);
LinearLayout toolsLayout = (LinearLayout) findViewById(R.id.toolsLayout);
LinearLayout boardLayout = (LinearLayout) findViewById(R.id.boardLayout);
colorBtn = (Button) findViewById(R.id.colorBtn);
penBtn = (Button) findViewById(R.id.penBtn);
eraserBtn = (Button) findViewById(R.id.eraserBtn);
undoBtn = (Button) findViewById(R.id.undoBtn);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.FILL_PARENT);
board = new BestPaintBoard(this);
board.setLayoutParams(params);
board.setPadding(2, 2, 2, 2);
//비트맵을 넣어준 이미지뷰가 들어있는 레이아웃에 작업공간board를 새로운 뷰로 생성하여 넣어줌
boardLayout.addView(board);
대충 앞의 주요소스는 이렇구요 제가 할려는게 이미지뷰를 배경으로 해서 펜으로 그리는 그림판 작업을 하고 싶은데요
실행하면 상위의 도구툴들과 저장된 이미지가 함께 뜨긴하는데
펜으로 그리면 이미지에 나타나지 않습니다. 이미지뷰를 넣기전에는 펜으로 잘 그려졌거든요.
마지막 줄에서 레이아웃에 board값이 들어간 새로운뷰를 넣었는데 이미지뷰에 가려진건가요?
이미지가 들어간 레이아웃에 새로운뷰를 생성하여 넣었는데 당연히 같이 그려질줄 알았는데 뭔가 이상하네요 ㅠ
무엇이 문제 일까요?
BestPaintBoard board;//board 작업공간 선언
Button colorBtn;//그림판 도구들 선언
Button penBtn;
Button eraserBtn;
Button undoBtn;
LinearLayout addedLayout;
Button colorLegendBtn;
TextView sizeLegendTxt;
int mColor = 0xff000000;
int mSize = 2;
int oldColor;
int oldSize;
boolean eraserSelected = false;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.paint);
// 내장메모리에서 파일가져와 비트맵 전환하여 이미지뷰에 표시
File f = Environment.getExternalStorageDirectory();
String path = f.getAbsolutePath();
img = (ImageView)findViewById(R.id.ImageView01);
Bitmap bm2 = BitmapFactory.decodeFile(path+"/DCIM/capture.jpeg");
img.setImageBitmap(bm2);
LinearLayout toolsLayout = (LinearLayout) findViewById(R.id.toolsLayout);
LinearLayout boardLayout = (LinearLayout) findViewById(R.id.boardLayout);
colorBtn = (Button) findViewById(R.id.colorBtn);
penBtn = (Button) findViewById(R.id.penBtn);
eraserBtn = (Button) findViewById(R.id.eraserBtn);
undoBtn = (Button) findViewById(R.id.undoBtn);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.FILL_PARENT);
board = new BestPaintBoard(this);
board.setLayoutParams(params);
board.setPadding(2, 2, 2, 2);
//비트맵을 넣어준 이미지뷰가 들어있는 레이아웃에 작업공간board를 새로운 뷰로 생성하여 넣어줌
boardLayout.addView(board);
대충 앞의 주요소스는 이렇구요 제가 할려는게 이미지뷰를 배경으로 해서 펜으로 그리는 그림판 작업을 하고 싶은데요
실행하면 상위의 도구툴들과 저장된 이미지가 함께 뜨긴하는데
펜으로 그리면 이미지에 나타나지 않습니다. 이미지뷰를 넣기전에는 펜으로 잘 그려졌거든요.
마지막 줄에서 레이아웃에 board값이 들어간 새로운뷰를 넣었는데 이미지뷰에 가려진건가요?
이미지가 들어간 레이아웃에 새로운뷰를 생성하여 넣었는데 당연히 같이 그려질줄 알았는데 뭔가 이상하네요 ㅠ
무엇이 문제 일까요?
추가된 이미지뷰때문에 작업공간이 가려진거 아닐까요? 작업공간.bringToFront() 메서드를 이용해보세요.