코딩스토리

[Android/안드로이드] 타이틀바(액션바) 제거 본문

Android/유용한 기술

[Android/안드로이드] 타이틀바(액션바) 제거

라크라꾸 2020. 7. 31. 00:17

 

앱을 만들다보면 상단에 타이틀바(액변바)를 없애고 싶은 경우가 많습니다.

 

액션바를 업애기 위해서는 java코드로 없애는 방법과 style을 통해 제거하는 방법이 있습니다.

먼저 style을 통해 제거하는 방법에 대해 살펴보겠습니다.

 

app->res->values->styles.xml파일을 들어갑니다.

    
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>

        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>
    

기존에 있던 테마에

<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>

를 추가해줍니다. 액션바를 제거하고, 타이틀바를 안보이게 하는 코드입니다.

 

Java코드를 통해 제거하는 방법은 

 	
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_feeling_upload);

        ActionBar actionBar = getSupportActionBar();
        actionBar.hide();
    }
    

다음과 같은 코드를 사용하시면 됩니다.

 

두가지 방법 모두를 한꺼번에 사용하게 되면 actionBar.hide()에서 에러가 나게됩니다. styles에서 이미 없앤 액션바를 onCreate에서 생성하는데 null객체를 가져오기 때문에 hide함수를 호출하게 되면 NPE에러가 생기니 주의하시길 바랍니다~

Comments