본문 바로가기
App 개발/Android Studio

[Android Studio] Empty Views Activity 타이틀바 보이기

by lifeseed 2024. 8. 19.

android studio에서 empty views activity 프로젝트를 생성했는데 실행해보니 타이틀바가 보이지 않는다... 어떻게??

 

결론 >> 

res/values/themes/themes.xml

 

 

 

Android Studio에서 `Empty Views Activity` 프로젝트를 생성한 후 타이틀 바가 보이지 않는 이유는 프로젝트의 테마나 스타일 설정에 따라 타이틀 바가 숨겨져 있을 가능성이 큽니다. 이를 수정하려면 `styles.xml` 파일에서 테마 설정을 변경해야 합니다. 다음은 타이틀 바를 표시하는 방법입니다.

### 1. **`styles.xml` 파일 확인 및 수정**

1. `res/values/styles.xml` 파일을 엽니다.
2. 현재 적용된 테마가 `Theme.MaterialComponents.DayNight.NoActionBar` 또는 `Theme.AppCompat.DayNight.NoActionBar`와 같은 "NoActionBar" 테마일 수 있습니다. 이 경우, "NoActionBar"를 포함하지 않은 테마로 변경합니다.

```xml
<!-- 기존의 NoActionBar 테마가 적용되어 있을 수 있습니다 -->
<style name="Theme.MyApplication" parent="Theme.MaterialComponents.DayNight.NoActionBar">
    <!-- Customize your theme here -->
</style>

<!-- NoActionBar가 없는 테마로 변경합니다 -->
<style name="Theme.MyApplication" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
    <!-- Customize your theme here -->
</style>
```

위와 같이 테마를 `DarkActionBar` 또는 `LightActionBar`로 변경하면 타이틀 바가 다시 나타납니다.

### 2. **Manifest 파일에서 전체 화면 설정 확인**

`AndroidManifest.xml` 파일에 `android:theme` 속성이 `Theme.NoTitleBar.Fullscreen` 등으로 설정되어 있을 수 있습니다. 이 경우, 해당 속성을 제거하거나 올바른 테마로 변경합니다.

```xml
<activity
    android:name=".MainActivity"
    android:theme="@style/Theme.MyApplication"  <!-- 테마 확인 -->
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
```

이러한 방법으로 프로젝트 설정을 변경한 후, 다시 빌드하고 실행하면 타이틀 바가 나타날 것입니다.

 

 

@ DarkActionBar 혹은 LightActionBar가 정의되어 있지 않은 경우 해결 방법

 

만약 `DarkActionBar` 또는 `LightActionBar` 테마가 정의되어 있지 않다는 오류가 발생한다면, 이는 프로젝트에서 사용 중인 테마가 `MaterialComponents` 테마를 기반으로 하고 있기 때문일 수 있습니다. `MaterialComponents` 테마는 기본적으로 ActionBar를 포함하지 않으므로, `AppCompat` 라이브러리의 테마를 사용해야 합니다.

다음은 ActionBar를 활성화하기 위한 방법입니다.

### 1. **`styles.xml` 파일 수정**

`AppCompat` 테마를 사용하려면 `styles.xml` 파일에서 테마를 `Theme.AppCompat` 기반으로 변경해야 합니다.

```xml
<!-- res/values/styles.xml -->
<resources>
    <!-- 기본 테마 변경 -->
    <style name="Theme.MyApplication" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here -->
    </style>
</resources>
```

위 코드는 앱에 `DarkActionBar`가 있는 `AppCompat` 테마를 적용합니다. 다른 테마를 원하시면 `Theme.AppCompat.Light` 또는 `Theme.AppCompat.Light.NoActionBar` 등으로 변경할 수 있습니다.

### 2. **`AppCompat` 라이브러리 확인**

이 테마를 사용하려면 프로젝트에 `AppCompat` 라이브러리가 포함되어 있어야 합니다. `build.gradle` 파일에서 `AppCompat` 라이브러리를 추가했는지 확인하세요.

```gradle
// app/build.gradle
dependencies {
    implementation 'androidx.appcompat:appcompat:1.6.1'  // 최신 버전을 사용하세요
    // 다른 의존성들...
}
```

`AppCompat` 라이브러리를 추가한 후 `Gradle`을 동기화합니다.

### 3. **`AndroidManifest.xml` 파일 확인**

`AndroidManifest.xml` 파일에서 해당 테마가 올바르게 적용되었는지 확인합니다.

```xml
<application
    android:theme="@style/Theme.MyApplication"  <!-- 여기서 올바른 테마가 지정되어야 합니다 -->
    android:allowBackup="true"
    android:label="@string/app_name"
    android:supportsRtl="true">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
```

이 설정을 완료한 후, 프로젝트를 다시 빌드하고 실행하면 ActionBar가 정상적으로 표시될 것입니다.