55

プラットフォーム:4.3

APIレベル:18

AndroidManifest.xml:

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

値-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.Light">
</style>

 <style name="CustomActionBarTheme"
       parent="@style/Theme.Holo.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

<style name="MyActionBar"
       parent="@style/Widget.Holo.Light.ActionBar.Solid.Inverse">
    <item name="android:background">@drawable/actionbar_background</item>
</style>

アンドロイド初心者ですよろしくお願いします!

4

7 に答える 7

14

プロジェクト プロパティ (マニフェストではない) でターゲット API (ターゲット SDK とは異なる) を少なくとも 4.0/API 14 に設定していることを確認してください。

于 2013-12-30T09:49:45.093 に答える
9

@android はうまくいきませんでした。私が(@なしで)Androidを使用すると、それは魅力のように機能します。

例:

<style name="CustomActionBarTheme"
       parent="android:style/Theme.Holo.Light.DarkActionBar">
于 2014-01-26T09:38:45.207 に答える
3

ここの初心者向けのチュートリアルには大きな誤りがあります: http://developer.android.com/training/basics/actionbar/styling.html

初心者にとってエラーの原因を検出することはほとんど不可能であるため、これは重大です。

エラーは、このチュートリアルでは、チュートリアルが api レベル 11 (Android 3.0) で有効であると明示的に述べていることですが、実際には、これはテーマ Theme.Holo にのみ当てはまります (それ以上の拡張機能やバリアントはありません)。

ただし、このチュートリアルでは、テーマ Theme.holo.Light.DarkActionBar を使用します。これは、API レベル 14 (Android 4.0) 以降の有効なテーマのみです。

これは、これらのチュートリアルで見つかった多くのエラーの例の 1 つにすぎません (他の点では優れています)。これらのエラーは本当にコストがかかり、迷惑な時間泥棒であるため、今週末に誰かがこれらのエラーを修正する必要があります。この情報を Android チームに送信する方法があれば教えてください。送信します。ただし、うまくいけば、彼らは Stackoverflow を読みます。(提案させてください: Android チームは、有効な資格として、初心者にすべてのチュートリアルを試してもらうことを検討する必要があります)。

私 (および無数の他の人) が見つけたもう 1 つのエラーは、チュートリアルに厳密に従った場合、appcombat の下位コンプライアンス モジュールが実際には機能しないということです。エラー不明。私はあきらめなければなりませんでした。

このスレッドのエラーに関して、不一致に関するイタリック体のチュートリアル テキストからの引用を以下に示します。

" Android 3.0 以降のみ

Android 3.0 以降のみをサポートする場合、アクション バーの背景を次のように定義できます。

    <resources>
        <!-- the theme applied to the application or activity -->
        <style name="CustomActionBarTheme"
        parent="@style/Theme.Holo.Light.DarkActionBar"> 

ERROR1: Android 3.0 で使用できるのは Theme.Holo のみです。したがって、「Light.DarkActionBar などを削除します。

ERROR2: @style/Theme.Holo"> will not work. @android:style/Theme.Holo">を記述して、参照されている組み込みのテーマであることを示す必要があります。(「ビルトイン」がデフォルトではなく、明記する必要があるのは少し奇妙ですか?)

エラー修正に関するコンパイラのアドバイスは、API レベル 14 を最小 SDK として定義することです。これは、Andreoid 3.0 (API レベル 11) に準拠していないため、最適ではありません。したがって、私は Theme.Holo のみを使用していますが、これはうまく機能しているようです (ただし、新鮮な発見です)。

Android をサポートする Netbeans を使用しています。うまく動作します。

于 2014-02-28T14:18:05.480 に答える
1

Androidスタジオを使用している場合、これは役立つかもしれません。

同様の問題があり、skd パスをデフォルトの C:\Program Files (x86)\Android\android-studio\sdk から C:\Program Files (x86)\Android\android-sdk に変更して解決しました。

この問題は、このテーマをサポートしていないコンパイラのバージョン (gradle が自動的に sdk フォルダで利用可能な最高のものに設定する) に起因しているようで、Android Studio の sdk フォルダには api 7 しかなかったので、これが表示されましたエラー。

Android Studio で Android SDK パスを変更する方法の詳細については、Android Studio - Android SDK パスを変更する方法を参照してください。

于 2014-07-04T10:43:52.710 に答える
0

この 1 つの親属性を変更できます ="android:style/Theme.Holo.Light.DarkActionBar"

于 2015-11-26T07:49:09.913 に答える
0

さらに、CustomActionBarTheme を使用しようとする場合は、

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

AndroidManifest.xml で

いいえ

<application android:theme="@android:style/CustomActionBarTheme" ... />
于 2014-11-22T15:02:11.830 に答える