Window 클래스는 윈도우를 표현하며 액티비티의 모양과 동작에 대한 여러가지 옵션을 제공한다.
윈도우 객체는 getWindow 메소드를 호출하여 언제든지 얻을 수 있으며 이 객체를 통해 여러가지 조작을 한다.
boolean Window.requestFeature(int featureId)
boolean Activity.requestWindowFeature(int featureId)
위의 메소드를 활용해서 윈도우의 확장 기능을 활성화 할 수 있다.
확장기능 플래그는 다음과 같다.
기능 |
설명 |
DEFAULT_FEATURES |
기본 기능 |
FEATURE_CONTEXT_MENU |
컨텍스트 메뉴를 쓸 수 있다. 디폴트로 이 기능이 선택되어있음 |
FEATURE_CUSTOM_TITLE |
커스텀 타이틀 바를 사용한다. |
FEATUE_PROGRESS |
타이틀 바에 막대 모양 프로그래스를 표시한다. |
FEATURE_INDETERMINATE_PROGRESS |
타이틀 바에 원형의 프로그래스를 표시한다. |
FEATURE_LEFT_ICON |
아이콘을 왼쪽에 놓는다. |
FEATURE_RIGHT_ICON |
아이콘을 오른쪽에 놓는다. |
FEATURE_NO_TITLE |
타이틀 바를 가지지 않는다. |
FEATURE_OPTIONS_PANEL |
옵션 패널을 가진다. |
다음은 타이틀바를 없애는 예제입니다.
NoTitle.java
package com.example.ch18_notitle;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
public class NoTitle extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Window win = getWindow();
win.requestFeature(Window.FEATURE_NO_TITLE);
//윗 두줄을 아래와 같이 한줄로 해도된다.
//requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_no_title);
}
}
실행 화면
이번에는 상태바까지 없애보자.
상태바까지 없애기 위해서는 다음 메소드를 사용해서 플래그를 조작한다.
void addFlags(int flags)
void clearFlags(int flags)
플래그 |
설명 |
FLAG_FULLSCREEN |
장식을 모두 제거하고 전체 화면을 쓴다. |
FLAG_BLUR_BEHIND |
뒤쪽의 화면을 흐릿하게 표시한다. |
FLAG_DIM_BEHIND |
뒤쪽의 화면을 흐리게 표시한다. |
FLAG_KEEP_SCREEN_ON |
윈도우가 보이는 동안은 화면을 끄지 않는다. |
FLAG_NOT_FOCUSABLE |
키 입력 포커스를 받지 않는다. |
FLAG_NOT_TOUCHABLE |
터치 입력을 받지 않는다. |
FLAG_SHOW_WALLPAPER |
바탕의 배경 화면을 보인다. |
FLAG_SHOW_WHEN_LOCKED |
화면이 잠긴 상태에서도 보이도록 한다. |
다음은 화면의 상태바까지 없앤 풀스크린을 만드는 예제이다.
FullScreen.java
package com.example.ch18_fullscreen;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
public class FullScreen extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Window win = getWindow();
win.requestFeature(Window.FEATURE_NO_TITLE);
win.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_full_screen);
}
}
실행 화면
다음과 같이 상태바도 없어진 것을 볼 수 있다.
'프로그래밍 > 안드로이드' 카테고리의 다른 글
안드로이드 - 프래그먼트 사용 간단 예제 (0) | 2015.09.08 |
---|---|
안드로이드 - 외부 메모리에 앱 설치하기 (0) | 2015.09.08 |
안드로이드 - 윈도우 관리자 활용하기 (0) | 2015.09.05 |
안드로이드 - LayoutInflater를 활용한 레이아웃 겹치기 (0) | 2015.08.30 |
안드로이드 - Application 객체를 이용한 전역 변수 만들기 (0) | 2015.08.26 |
안드로이드 - 목록을 팝업으로 보여주는 ListPopupWindow (0) | 2015.08.23 |
안드로이드 - CalendarView로 쉽게 달력을 만들자 (11) | 2015.08.23 |
안드로이드 - NumberPicker를 이용한 숫자 선택하는 위젯 만들기 (0) | 2015.08.16 |