web-dev-qa-db-ja.com

Appcompatテーマを明るい色から暗い色に変更できません

アプリのテーマを完全に変更しようとしています。これを変更して試しました。

値フォルダの_styles.xml_は

_<resources>

<!--
    Base application theme, dependent on API level. This theme is replaced
    by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="Android:Theme.Holo">
    <!--
        Theme customizations available in newer API levels can go in
        res/values-vXX/styles.xml, while customizations related to
        backward-compatibility can go here.
    -->
</style>

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>

</resources>
_

値-v11 _styles.xml_

_<resources>

<!--
    Base application theme for API 11+. This theme completely replaces
    AppBaseTheme from res/values/styles.xml on API 11+ devices.
-->
<style name="AppBaseTheme" parent="Android:Theme.Holo">
    <!-- API 11 theme customizations can go here. -->
</style>

</resources>
_

値-v14 _styles.xml_

_<resources>

<!--
    Base application theme for API 14+. This theme completely replaces
    AppBaseTheme from BOTH res/values/styles.xml and
    res/values-v11/styles.xml on API 14+ devices.
-->
<style name="AppBaseTheme" parent="Android:Theme.Holo">
    <!-- API 14 theme customizations can go here. -->
</style>

</resources>
_

Mainifest.xml

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

ActionBarActivity&_appcompat_v7_を使用していますが、アプリがJava.lang.RuntimeException: Unable to start activity ComponentInfo{com...}: Java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activityによってクラッシュします

私は何かが足りないのですか...?

どうすればこの問題を解決できますか?

助けてください...

前もって感謝します !


編集: Appcompatテーマを使用する場合、テーマは軽く、コードは次のとおりです。

したがって、appcompatテーマを使用すると、valuesフォルダーの_styles.xml_は

_<resources>

<!--
    Base application theme, dependent on API level. This theme is replaced
    by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="Theme.AppCompat.Light">
    <!--
        Theme customizations available in newer API levels can go in
        res/values-vXX/styles.xml, while customizations related to
        backward-compatibility can go here.
    -->
</style>

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>

</resources>
_

値-v11 _styles.xml_

_<resources>

<!--
    Base application theme for API 11+. This theme completely replaces
    AppBaseTheme from res/values/styles.xml on API 11+ devices.
-->
<style name="AppBaseTheme" parent="Theme.AppCompat.Light">
    <!-- API 11 theme customizations can go here. -->
</style>

</resources>
_

値-v14 _styles.xml_

_<resources>

<!--
    Base application theme for API 14+. This theme completely replaces
    AppBaseTheme from BOTH res/values/styles.xml and
    res/values-v11/styles.xml on API 14+ devices.
-->
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- API 14 theme customizations can go here. -->
</style>

</resources>
_

Mainifest.xml

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

そして、appcompatテーマをライトからホロダークに変更する方法がわかりません。助けてください

12
Vivek Warde

Tyczjが指摘したように、アプリでTheme.AppCompatを使用する場合は、テーマの親としてappcompat_v7を使用する必要があります。 Theme.AppCompatは視覚的にTheme.Holo(暗い)と同じです。

詳細については、Androidドキュメントの ActionBarのスタイル設定に関する記事 を参照してください。

35
nstCactus