안드로이드 앱개발 32

안드로이드 - 윈도우 관리자 활용하기

윈도우 관리자는 안드로이드 프레임워크를 구성하는 주요 모듈로 윈도우를 관리한다. 다음의 호출문으로 구할 수 있다. getSystemService(Context.WINDOW_SERVICE) 윈도우 관리는 대부분 시스템 내부에서 알아서 수행되므로 공개된 기능은 많지 않다. 다음 메소드는 윈도우가 실행되는 화면에 대한 정보를 구한다. Display getDefaultDisplay() Display 클래스는 장비의 화면 폭이나 높이, 방향, 갱신 주기 등의 정보를 제공한다. 다음 메소드는 ViewManager 인터페이스로부터 상속받은 것이며 윈도우에 개별 뷰를 추가하거나 삭제한다. void addView(View view, ViewGroup.LayoutParams params) void removeView(Vi..

안드로이드 - LayoutInflater를 활용한 레이아웃 겹치기

윈도우는 빈 채로 생성되며 빈 윈도우 안에 레이아웃을 채워 넣어 UI를 구성하는데 이때는 다음 메소드를 호출 한다. void setContentView(int layoutResID) void setContentView(View view, [ViewGroup.LayoutParams params]) void addContentView(View view, ViewGroup.LayoutParams params) 다음 예제는 2개의 xml파일을 겹쳐서 보여주는 예제이다. overlay1.xml overlay2.xml Overlay.java package com.example.overlay; import android.app.Activity; import android.content.Context; import a..

안드로이드 - 타이틀 바 조작하기 (풀스크린 만들기)

Window 클래스는 윈도우를 표현하며 액티비티의 모양과 동작에 대한 여러가지 옵션을 제공한다. 윈도우 객체는 getWindow 메소드를 호출하여 언제든지 얻을 수 있으며 이 객체를 통해 여러가지 조작을 한다. boolean Window.requestFeature(int featureId) boolean Activity.requestWindowFeature(int featureId) 위의 메소드를 활용해서 윈도우의 확장 기능을 활성화 할 수 있다. 확장기능 플래그는 다음과 같다. 기능 설명 DEFAULT_FEATURES 기본 기능 FEATURE_CONTEXT_MENU 컨텍스트 메뉴를 쓸 수 있다. 디폴트로 이 기능이 선택되어있음 FEATURE_CUSTOM_TITLE 커스텀 타이틀 바를 사용한다. FEAT..

안드로이드 - Application 객체를 이용한 전역 변수 만들기

프로세스의 아래에는 단 하나의 유일한 Application 객체가 있고 그아래 컴포넌트인 서비스, 브로드캐스트 리시버, 액티비티, 콘텐트 프로바이더로 구성된다. Application 클래스가 모든 컴포넌트보다 우선적으로 생성되고 유일한 객체만 생성되므로 전역 변수를 두기에는 제일 좋은 곳이다. 그리고 Application 객체의 멤버는 프로세스의 어디에서나 참조할 수 있다. void onCreate() void onTerminate() void onConfigurationChanged(Configuration newConfig) void onLowMemory() onCreate는 응용프로그램이 실행된 직후 호출된다. 다른 컴포넌트인 서비스, 브로드캐스트 리시버, 액티비티, 콘텐트 프로바이더보다 먼저 실행..

안드로이드 - 목록을 팝업으로 보여주는 ListPopupWindow

어떤 목록을 보여줄 때 팝업으로 보여주고 싶다면 ListPopupWindow 위젯을 사용해야한다. 팝업 메뉴와 유사하지만 목록을 어댑터로 받는 점이 특이하다. void setWidth(int width) void setHeight(int height) void setContentWidth(int width) 폭과 높이는 픽셀 단위로 지정한다. void setAdapter(ListAdapter adapter) void setAnchorView(View anchor) 위의 메소드는 어댑터와 앵커 뷰를 지정한다. void setModal(boolean modal) 위의 메소드는 팝업 목록의 동작 방식을 지정한다. 모달일 때는 선택을 해도 팝업이 자동으로 닫히지 않으며 팝업 바깥을 눌러야 닫힌다. void se..

안드로이드 - CalendarView로 쉽게 달력을 만들자

CalendarView는 스크롤이 가능한 달력을 보여주며 날짜 하나를 선택 받을 수 있다. 속성설명firstDayOfWeek제일 왼쪽의 첫 요일을 선택minDate달력에 표시할 최소 날짜. mm/dd/yyyy로 지정maxDate달력에 표시할 최대 날짜. mm/dd/yyyy로 지정focusedMonthDateColor현재 선택된 달의 배경 색상이다.selectedWeekBackgroundColor선택된 주의 배경 색상이다.unfocusedMonthDateColor선택되지 않은 달의 배경 색상이다.showWeekNumber왼쪽에 주차를 보여줄지weekNumberColor주차의 색상을 지정weekSeparatorLineColor주 사이의 구분선selectedDateVerticalBar선택한 날짜의 양쪽에 보일..

안드로이드 - NumberPicker를 이용한 숫자 선택하는 위젯 만들기

넘버 피커는 일정한 범위에 있는 숫자 값 중에 하나를 선택해주는 위젯이다. 날짜나 시간 선택기와 비슷한 모양을 하고 있고 입력 필드를 롱터치해서 직접 값을 입력할 수도 있다. void setMinValue(int minValue) void setMaxValue(int maxValue) void setValue(int value) setMinValue로 범위의 최소값을 지정하고 setMaxValue로 최대값을 지정한다. 그리고 setValue에서 최대값을 넘어가는 것을 지정했다면 자동적으로 최대값이 바뀌게 된다. void setWrapSelectorWheel(boolean wrapSelectorWheel) 위 메소드는 범위가 1에서 10일 때 10을 초과하면 다시 1로 갈껀지 아니면 10에서 멈출건지를 나..

안드로이드 - 위젯의 배치를 편리하게 해주는 Space 위젯

Space 위젯은 말그대로 공간만 차지하는 위젯이다. 이러한 단순한 위젯을 활용하면 내가 원하는 곳에 위젯을 배치하는데 편리하게 이용할 수 있다. 예제는 매우 간단하다. xml파일 activity_space_test.xml SpaceTest.java package com.example.ch13_space; import android.app.Activity; import android.os.Bundle; public class SpaceTest extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activi..

안드로이드 - 스위치(Switch) 만들어서 편리하게 토글하기

스위치는 체크박스와 비슷한 역할을 하지만 조금 더 직관적으로 ON/OFF 상태를 표시할 수 있다. 속성설명text어떤 옵션인지를 설명하는 문자열textOn선택했을때 표시될 문자열textOff선택하지 않았을 때 표시될 문자열textStyle문자열의 스타일, normal, bold, italic 중 하나 또는 | 연산자로 두 개 동시 지정가능checked초기 상태를 지정한다.switchMinWidth스위치의 최소 폭switchPadding스위치와 캡션 문자열간의 여백을 지정thumb스위치를 그릴 이미지를 지정thumbTextPadding스위치의 썸과 문자열 사이의 수평 여백을 지정 리스너를 등록해서 체크이벤트를 가져오고 싶으면 setOnCheckedChangedListener()에서 리스너를 등록하고, On..

안드로이드 - 자동 완성 기능 만들기(AutoCompleteTextView, MultiAutoCompleteTextView)

AutoCompleteTextView 클래스를 사용하면 자동 완성 기능은 제공 할 수 있습니다. 이름은 TextView로 되어있지만 EditText의 서브 클래스입니다. 후보 문자열의 경우 어댑터로부터 받는다. void setAdapter(T adapter) completionThreshold 속성 : 몇 자까지 입력했을 때 후보 목록을 보여줄 거인가를 의미 보통 1이 무난 completionHint 속성 : 후보 목록 아래쪽에 도움말 문자열 지정 예제 소스 TextView 한개와 AutoCompleteTextView 한 개만 배치하였다. activity_auto_complete.xml 자바 파일 AutoComplete.java package com.example.autocomplete; import a..

반응형