티스토리 뷰

반응형

Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.

Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.

 

아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.

Full Screen Theme for AppCompat

AppCompat에서 전체 화면 테마

 문제 내용 

I would like to know how can I apply full screen theme ( no title bar + no actionbar ) to an activity. I am using AppCompat library from support package v7.

제목 표시줄과 액션바가 없는 전체 화면 테마를 Activity에 적용하는 방법을 알고 싶습니다. 저는 support package v7에서 AppCompat 라이브러리를 사용하고 있습니다.

 

I've tried to applied android:theme="@android:style/Theme.NoTitleBar.Fullscreen" to my specific activity but it crashed. I think it's because my application theme is like this.

특정 액티비티에 android:theme="@android:style/Theme.NoTitleBar.Fullscreen"을 적용해보았지만, 앱의 테마가 다음과 같기 때문에 앱이 충돌했습니다.
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

 

I also have tried this

이것도 시도해봤습니다.
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);

 

which only hides title bar but not the action bar. My current workaround is that hiding the actionbar with

위의 코드는 액션 바를 숨기지 않고 타이틀 바만 숨깁니다. 현재 제가 사용하는 해결 방법은 다음과 같습니다.
getSupportActionBar().hide();

 

 

 높은 점수를 받은 Solution 

When you use Theme.AppCompat in your application you can use FullScreenTheme by adding the code below to styles.

어플리케이션에서 Theme.AppCompat을 사용하는 경우, 아래 코드를 styles에 추가함으로써 FullScreenTheme을 사용할 수 있습니다.
<style name="Theme.AppCompat.Light.NoActionBar.FullScreen" parent="@style/Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>

 

and also mention in your manifest file.

그리고 매니페스트 파일에도 명시하세요.
<activity
   android:name=".activities.FullViewActivity"
   android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen" 
/>

 

 

 가장 최근 달린 Solution 

To hide both status bar and action bar and make your activity full-screen use the following code in your activity's onResume() or onWindowFocusChanged() method:

상태 바와 액션 바 모두를 숨기고 액티비티를 전체 화면으로 만들려면 onResume() 또는 onWindowFocusChanged() 메소드에서 다음 코드를 사용하세요.
@Override
protected void onResume() {
    super.onResume();
    View decorView = getWindow().getDecorView();
    decorView.setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
            | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_FULLSCREEN);
}

 

You can find more Information in the following links:

다음 링크에서 더 많은 정보를 찾을 수 있습니다:

 

 

Note: Using the xml solutions provide in this thread I could only hide the status bar but not the navigation bar.

참고: 이 스레드에서 제공된 XML 솔루션을 사용하면 상태 표시 줄은 숨길 수 있지만 탐색 모음은 숨길 수 없습니다.

 

 

 

출처 : https://stackoverflow.com/questions/20653305/full-screen-theme-for-appcompat

반응형
댓글
공지사항
최근에 올라온 글