![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/bditgF/btrwnPNjxc6/SCgZ4fbn5iYrWRF37BQu60/img.png)
프로세스의 진행 상태를 중간 중간 보여줄 수 있는 가장 좋은 방법 중 하나가 Progress Bar이다. 안드로이드는 일반적으로 아래의 두 가지 Progress Bar를 사용한다. 속성 설명 막대 모양 작업의 진행 정도를 알려줄 수 있도록 막대 모양으로 표시 원 모양 작업이 진행 중임을 알려준다. 원 모양이 반복적으로 나타난다. Layout.xml에 Progress bar를 추가할 때는 태그가 사용되는데, Progress bar가 갖는 값의 최대 범위는 max 속성으로 설정하고, 현재 값은 progress 속성으로 설정한다. 바로 한 번 예제를 확인해보자. ◎activity_main.xml ◎MainActivity.java package com.example.progressbarex; import and..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/cO4b7W/btrwjnXysO6/3DkPdqwmWIAi3VKn9ypnxk/img.png)
Toast와 Snackbar 가 사용자에게 간단한 알림을 띄우는 용도였다면, 알림 대화상자는 confirm과 같이 예, 아니오로 사용자의 응답을 처리하는 용도로 사용된다. 바로 한번 확인해보자. ▶Dialog 띄우기 ◎activity_main.xml ◎MainActivity.java package com.example.sampledialog; import android.content.DialogInterface; import android.view.View; import android.widget.Button; import android.widget.TextView; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppC..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/dkc3pb/btrwiyZiBnp/GgcpV7RMGiGLZZje3ot3sK/img.png)
간단한 메시지를 보여줄 때, Toast 대신 Snackbar를 사용하는 경우도 있다. Snackbar는 Android내장 라이브러리가 아닌,외부 라이브러리이므로 Snackbar가 들어있는 Material 라이브러리를 받아야한다. 사용 방법은 Toast와 매우 유사하니 간단하게 화면에 띄워보는 예제만 해보자. ▶Snackbar 띄우기 ◎activity_main.xml ◎ActivityMain.java package com.example.toast_ex; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/qqojM/btrwgk8Nc2a/7uy3viVqLCOkWKQVicFMq1/img.png)
Toast는 위치 뿐 아니라 View의 모양 또한 변경해줄 수 있다. 이때는 Layout 객체를 가져오기 위한 LayoutInflater를 사용하는데, 이는 다음 포스팅에 자세히 다뤄보도록 하고 우선 바로 예제로 넘어가도록 하자. ▶Toast 모양 변경 ◎activity_main.xml 이제, Toast View의 Layout을 따로 layout 디렉토리에 추가해준다. ◎toastborder.xml ◎MainActivity.java package com.example.toast_ex; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; im..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/cVLEHX/btrwgrMZvZT/GTe5Y5F3CNRKDtebcTtdKK/img.png)
지금까지 간단한 예제에서 Events를 확인하기 위해 종종 사용했던 Toast 객체는 간단한 메시지를 잠깐 보여줬다가 없어지는 앱 위에 뷰이다. Toast는 전형적으로 아래와 같이 사용할 수 있다. Toast.makeText(Context context, String message, int duration).show(); Context 객체는 일반적으로 Context 클래스를 상속한 Activity를 사용할 수 있으며, Activity를 참조할 수 없는 경우에는 getApplicationContext() 메서드를 호출하여 얻을 수 있다. Toast는 setGravity나 setMargin 메서드를 사용하여 그 위치를 바꿔줄 수 있다. 간단하게 예제를 한번 작성해보자. ▶ Toast 메시지 위치 바꾸기 ◎..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/dPcQZk/btrwaFE0iZY/XIts7HiMiDUtkTuKRpl1U1/img.png)
Android는 사용자가 화면을 전환했을 때, 보여줄 Layout을 각각 구분하여 처리할 수 있도록 해준다. 즉, 가로와 세로 Layout을 따로 저장해놨다가, 사용자가 화면을 전환했을 때 화면에 맞는 Layout을 불러와 처리한다. Default 로 생성된 Layout이외에 화면이 가로로 전환되었을 때 사용할 Layout을 생성해주려면, app/res/ 하단에 layout-land 라는 이름의 Resource directory를 추가하여 해당 디렉토리에 layout 디렉토리 내부에 Resource 파일들을 복사하여 사용하면 된다. layout-land는 지정된 이름으로 앱을 실행했을 때, 단말 방향을 확인하여 가로인 경우 layout-land 폴더에서 Resource를 사용한다. 기본적으로 단말의 방향..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/HfG9c/btrvVLsMoKl/WQojBFxAEvDFAZHbc0Web0/img.png)
당연한 이야기지만, 안드로이드도 다른 웹이나 윈도우 어플리케이션과 동일하게 사용자의 동작에 대한 이벤트를 처리할 수 있다. 기본적으로 안드로이드에서 이벤트는 JAVA 코드에서 각 Event Listener Interface 를 구현받아 재정의하고, 해당 리스너를 Event를 구현할 객체에 설정해준다. Android App 개발 시에 대표적으로 사용되는 Events를 정리하면 다음과 같다. 속성 설명 Touch Event 화면을 손가락으로 누를 때 발생 Key Event 키패드나 하드웨어 버튼을 누를 때 발생하는 이벤트 Gesture Event 터치 이벤트 중에서 스크롤과 같이 일정 패턴으로 구분되는 이벤트 Focus 뷰마다 순서대로 주어지는 포커스 화면 방향 변경 화면의 방향이 가로와 세로로 바뀜에 따라..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/SNGa4/btrvZ4KQOUi/dppAwGxrFTWkzCT4InUZk0/img.gif)
사용 예제 3에서 학습했던 image view 나 image button의 경우, 클릭 이벤트를 걸어줄 수는 있었지만 클릭해도 이미지 자체에는 아무런 변화가 없었다. 버튼이 눌렸을 때 토글된 이미지가 보이게 하려면 Drawable 객체를 사용하면 된다. Drawable은 상태에 따라 그래픽이나 이미지가 선택적으로 보이게 할 수 있게 해준다. Drawable은 뷰에 설정할 수 있는 객체이며, 그 위에 그래픽을 그릴 수 있다. Drawable은 그 쓰임새에 따라서 7가지 종류로 구분할 수 있다. Drawable Description BitmapDrawable 이미지 파일을 보여줄 때 사용함 StateListDrawable 상태별로 다른 비트맵 그래픽을 참조함 TransitionDrawable 두 개의 Dra..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/6ntPz/btrvMeU1p6Z/8VziUZUwjwKhwLi3kVksA1/img.png)
이름에서 알 수 있듯, image view 는 이미지를 화면 상에 나타낼 때 사용하며 image button으로 이미지를 버튼으로 사용할 수 있다. image view, button에서 사용하는 이미지는 일반적으로 app/res/drawable 폴더 안에 저장하며, 화면에 해상도에 따라 다음과 같이 폴더를 지정하여 저장하면 안드로이드에서 알아서 해당 해상도에 맞는 로딩 방식을 사용한다. 해상도 폴더 이름 초고해상도 /app/res/drawable-xhdpi, /app/res/drawable-xxhdpi, /app/res/drawable-xxxhdpi 고해상도 /app/res/drawable-hdpi 중간 해상도 /app/res/drawable-mdpi 저해상도 /app/res/drawable-ldpi 바..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/bf613p/btrvK3GsFSL/sr4H612kzb5DYv6RNUhSs0/img.png)
plain text는 입력 상자의 역할을 하는 Edit text이다. html의 input 태그와 비슷하게 hint 속성을 이용하여 입력 창에 나타날 안내 문구 또한 추가가 가능하며, input type 속성으로 입력 데이터의 타입을 제한할 수 있다. 또한 plain text를 disign palette에서 직접 추가하면, width가 wrap-content일 때 ems = 10이라는 속성이 자동으로 추가가 되는 것을 볼 수 있는데, 이는 해당 위젯의 너비를 EM 단위의 크기로 설정하기 위해 사용한다. 바로 간단한 예제를 하나 생성해보자. ◎strings.xml Text_widget_ex_1 이름을 입력해주세요. ◎main_activity.xml
- redux-thunk
- AsyncStorage
- 이탈리안 레스토랑
- javascript
- react
- Async
- react-native
- 인천 구월동 이탈리안 맛집
- Promise
- 맛집
- await
- 정보보안기사 #실기 #정리
- 파니노구스토
- redux
- 인천 구월동 맛집
- Total
- Today
- Yesterday