본문 바로가기

Android ᙏ̤̫͚/Android Programming

[Android] chapter 1 - 6 프레임 레이아웃

 

 

 

boostcourse 안드로이드 앱 프로그래밍

1. 레이아웃 만들기

- 6. 프레임 레이아웃

 

 

 

프레임 레이아웃 (Frame Layout)

: 한 번에 하나의 뷰만 보여주는 레이아웃, 가장 단순한 레이아웃

- 가장 나중에 추가한 뷰만 화면에 보이게 됨

- 뷰의 가시성 (Visibility) 이용하여 다양한 화면 구성 가능

 

 

- 실습 진행

    - 화면에 버튼 추가

버튼 위치 결정 위해 왼쪽과 위쪽의 점을 부모 레이아웃에 맞추어 설정

 

    - 버튼 내부 텍스트 "이미지 바꾸기"로 변경

 

    - Layouts에서 FrameLayout 뷰 추가하여 버튼의 왼쪽과 버튼 아래쪽에 맞춘 후 크기 설정

        - 처음 레이아웃 추가 시 에러 생긴다고 이야기하지만, 제약조건을 잘 맞추어 주고, 크기 설정을 해주면 문제 해결

 

 

<Button, FrameLayout에 대한 코드>

 

 

    - 프로젝트 디렉터리 내 app/src/main/res/drawble 폴더에 이미지 2개 넣어줌

    - Frame Layout 내에 Image 뷰 추가

        - imageView 드래그하면 등장하는 대화상자에서 해당 그림 선택

        - 두번째 imageView 추가

 

    ** 한번에 하나의 그림만 볼 수 있기 때문에, visibility 속성 사용하여 뷰 보여줌

        - visible : 보여주기

        - invisible : 숨기기

 

    - 버튼 누르면 이미지가 바뀌도록 버튼에 이벤트 추가

        - onClick에 onButton1Clicked 추가

 

        - MainActivity.java 파일에 onButton1Clicked 함수 추가

            - imageView를 사용하기 때문에 onCreate 함수에 해당 내용 추가        

(1)

id가 imageView/imageView2인 뷰를 찾아 ImageView로 형변환 하여 각 변수에 저장하는 내용 의미

 

(2)

따로 변수로 빼주어 사용 가능

 

            - onButton1Clicked 함수 내용 정의

index가 0인 경우 첫 번째 이미지, index가 1인 경우 두 번째 이미지 보여줌

setVisibility( ) 함수 + visiblity 속성 활용하여 표현

(imageView.setVisibility(View.VISIBLE);) : 보이도록 구현하기 의미

(imageView.setVisibility(View.VISIBLE);) : 보이지 않도록 구현하기 의미