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);) : 보이지 않도록 구현하기 의미
'Android ᙏ̤̫͚ > Android Programming' 카테고리의 다른 글
[Android] chapter 1 - 8 드로어블 만들기 (0) | 2021.02.27 |
---|---|
[Android] chapter 1 - 7 기본 위젯들 (0) | 2021.02.27 |
[Android] chapter 1 - 5 상대 레이아웃 (0) | 2021.02.26 |
[Android] chapter 1 - 4. 리니어 레이아웃 (0) | 2021.02.26 |
[Android] chapter 1 - 3 - (2) 제약 레이아웃 (0) | 2021.02.26 |