마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

타이틀바 지우기소스 오류

0 추천
타이틀바 없애는 소스

android:theme="@android:style/Theme.NoTitleBar"

로 교체 하고나면 어플실행시 오류가 납니다.

기본프로젝트 만들어 놓고 저 소스만 넣었는데도 오류가 납니다.

안드로이드 4.4로 되어있습니다.

 

인터넷상에 흔지 나오는 소스인데 왜 오류가 나는걸까요?...
올리고 (250 포인트) 님이 2014년 3월 17일 질문

2개의 답변

+1 추천

아래와 같이 하셨는데 에러가 난다는 건가요?

 <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.NoTitleBar" >
        <activity
            android:name="com.example.zzoro.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

초보개발자ㅠ (33,870 포인트) 님이 2014년 3월 17일 답변
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.wKakaoFrends"
    android:versionCode="3"
    android:versionName="0.3" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />

    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.NoTitleBar"  >
        <activity
            android:name="com.wKakaoFrends.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

이렇게 되어있습니다.
코드 상에는 이상이 없는데....
버전 바꿔가며 직접 테스트해봐도 그렇구요.
정상동작하던 소스에 단순히 저 코드만 추가했는데
안되는거라면 모르겠네요 @_@;;

"기본프로젝트 만들어 놓고 저 소스만 넣었는데도 오류가 납니다."
라고 하셨는데 유저 퍼미션도 추가하셨네요..
혹, 코드 상에 더 추가한 내용이 없는지 확인해보시고

그래도 이상이 없다면 코드상에서 타이틀바를 날려요
requestWindowFeature(Window.FEATURE_NO_TITLE);
onCreate에서 setContentView 하기 전에 사용하시면 됩니다.
0 추천

최신 이클립스(+JDK, Android SDK)에서 새 프로젝트를 열어 동일한 증상이 발생했습니다.

소스 코드상에는 오류가 없고 실행하면 크래시가 나며 앱이 죽습니다.

 

구글 검색해보니 해당 증상에 대한 원인과 해결책이 있더군요.

http://stackoverflow.com/questions/22828118/app-crashes-after-setting-to-theme-notitlebar-fullscreen

ActionBarActivity assumes you are using an ActionBar, while Theme.NoTitleBar themes remove the ActionBar (as that is part of the title bar on newer devices and ActionBarActivityassumes you are using a Theme.AppCompat theme which controls styling for the ActionBar).

Change your activity to extend FragmentActivity if you are okay with not having an Action Bar, although as per the Android design docs is a critical component for making your app feel like an Android app (although some would say that games are granted more leeway).

 

간단히 요약하자면 MainActivity가 ActionBarActivity를 extends하고 있어서 발생하는 오류입니다.

FragmentActivity를 extneds 하는 것으로 바꿔주기만 하면 크래시 없이 정상적으로 잘 실행됩니다.

때미리 (200 포인트) 님이 2014년 7월 15일 답변
감사합니다..
FragmentActivity 로 변경하니, 잘 되네요..
...