프레임레이아웃을 이용하여 이미지뷰의 이미지를 변경 하는 방법.
00. 버튼을 하나 만든다.
01. 버튼 아래쪽에 프레임레이아웃을 올린다.
02. 이미지뷰를 드레그해서 오른쪽 트리에있는 프레임레이아웃에 가져다 놓는다.(바로 화면에다 갖다놔도 무관.)
03. 이미지뷰가 잘 들어간 것을 확인할 수 있다.
04. 준비해놓은 이미지를 복사해서 app-res-drawable 아래에다 붙여넣기를 하고 OK를 누른다.
05. 오른쪽트리에서 이미지뷰를 클릭한후 Properties에 있는 src를 찾아서 옆에 '...' 버튼을 클릭.
06. Drawable 탭에서 계속내려가다보면
07. 붙여넣었던 이미지를 찾게된다. 처음 이미지뷰에는 image1을 삽입.(아무거나 먼저해도 무관.)
08. 바꿔줄 사진을 삽입하기위해 다시한번 반복한다. 이미지뷰 클릭 - 드레그 - 프레임레이아웃
09. 이미지뷰가 잘 생성되었는지 확인.
10. src ... 클릭후 Drawable 탭에서 내리다보면 이번에는 다른 사진을 클릭하고 OK를 누른다.
11. 이미지 두장이 잘 들어갔는지 확인하고 Scrip로 넘어가자.
12. 버튼과 이미지뷰를 연결해보자.(해석은 생략한다.)
ImageView imageView;
ImageView imageView2;
Boolean selected = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
imageView = (ImageView) findViewById(R.id.imageView);
imageView2 = (ImageView) findViewById(R.id.imageView2);
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (selected) {
imageView.setVisibility(View.VISIBLE);
imageView2.setVisibility(View.GONE);
} else {
imageView.setVisibility(View.GONE);
imageView2.setVisibility(View.VISIBLE);
}
selected = !selected;
}
});
13. 구동시켜본다.
14. 구동이 잘되는지 보기위해 버튼을 눌러본다.
15. 정상적으로 작동하는 것을 볼 수 있다.
이미지 출처: 네이버 '하연수' 검색.