[android] Android 테마 배경색 설정

기본 배경 테마 색상을 수정하려고합니다. 쉽지만 놀랍게도 작동하지 않습니다. 단일 활동이 아닌 전체 앱에 변경이 적용되기를 원합니다. 내 코드는 다음과 같습니다.

styles.xml

<resources>

    <color name="white_opaque">#FFFFFFFF</color>
    <color name="pitch_black">#FF000000</color>

    <style name="AppTheme" parent="android:Theme.Light">
        <item name="android:background">@color/white_opaque</item>
        <item name="android:windowBackground">@color/white_opaque</item>
        <item name="android:colorBackground">@color/white_opaque</item>
    </style>

</resources>

그리고 물론 매니페스트에서

<application
    .
    .
    .
    android:theme="@style/AppTheme" >
</application>

내가 테마 수정에 대해 문의 한 Android 문서 :
http://developer.android.com/guide/topics/ui/themes.html

모든 xml 속성에 대해 white_opaque와 pitch_black간에 전환을 시도했지만 아무것도 변경하지 않습니다. 어떤 제안?



답변

좋아요 제가 정말 어리석은 실수를 저질렀다는 것이 밝혀졌습니다. 테스트에 사용중인 기기는 Android 4.0.4, API 레벨 15를 실행 중입니다.

내가 편집하고 있던 styles.xml 파일은 기본값 폴더에 있습니다. values-v14 폴더에서 styles.xml을 편집했으며 이제 모두 정상적으로 작동합니다.


답변

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="android:Theme.Holo.NoActionBar">
        <item name="android:windowBackground">@android:color/black</item>
    </style>

</resources>


답변

이 줄 res -> values -> styles.xml을 열고 <style>이미지 경로로 바꿉니다 <item name="android:windowBackground">@drawable/background</item>. 예:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:windowBackground">@drawable/background</item>
    </style>

</resources>

또한 <item name ="android:colorBackground">@color/black</item>기본 창 배경뿐만 아니라 앱의 모든 구성 요소에 영향을 미칩니다. 여기에서 테마 맞춤 설정에 대해 읽어 보세요 .

버전 별 스타일 을 원하는 경우 :

새 버전의 Android가 사용하려는 테마 속성을 추가하는 경우 이전 버전과 여전히 호환되는 동안 테마에 추가 할 수 있습니다. 리소스 버전 한정자를 포함하는 values ​​디렉터리에 저장된 다른 styles.xml 파일 만 있으면됩니다. 예를 들면 :

res/values/styles.xml        # themes for all versions
res/values-v21/styles.xml    # themes for API level 21+ only

values ​​/ styles.xml 파일의 스타일은 모든 버전에서 사용할 수 있으므로 values-v21 / styles.xml의 테마는이를 상속 할 수 있습니다. 따라서 “기본”테마로 시작한 다음 버전 별 스타일로 확장하여 스타일 중복을 방지 할 수 있습니다.

자세한 내용은 여기 (테마 문서)를 참조하십시오 .


답변