상단에 액션바가 차지하고 있어서 눈에 거슬린다.
상단 액션바를 안보이게 처리하는 방법을 알아봤는데 어떨 때는 되고 안될때도 있는데 API 버전에 따라 다른거 같기도 하다.
AndroidManifest.xml 파일에서 수정할 부분
android:theme="@style/Theme.AppCompat.NoActionBar"
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".Intro"> <intent-filter> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> |
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/Theme.AppCompat.NoActionBar"> <activity android:name=".Intro"> <intent-filter> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> |
이것만 수정하고 컴파일을 하면 화면이 검은 바탕색으로 변경되어 버린다.
activity_main.xml 파일 수정
배경색 추가를 한다. 배경색을 하얀색으로 변경하면 보이던 글자가 안보이는 현상이 생겼다.
그래서 색상을 맞춘다고 @color/whitegray = #f0f0f0 로 만들었다.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" >
|
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@color/whitegray"> |
문제는 또 발생한다. 모든 xml 파일 상단에 배경색을 저장해줘야 하는 문제점이 보인다.
검정색 글씨로 보여야 되는데 하얀색 글자로 보이면서 가독성이 엄청 떨어져 보인다.
배경색을 lightgray 로 변경했더니 하얀색 글자가 보이기는 하는데 영 불편하다.
결국 해결한 방법은
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Intro">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
부분은 그대로 두고 참조하는 style.xml 파일 내용을 수정한다.
<item name="windowNoTitle">true</item> 라인을 추가한다.
<resources>
<!-- Base application theme. --> <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="windowNoTitle">true</item> </style>
</resources> |
해결방법 2.
=== strings.xml ===
<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style>
<style name="AppTheme.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Light" /> <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> </resources>
|
=== AndroidManifest.xml ===
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:theme="@style/AppTheme.NoActionBar"> <intent-filter> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> |