3

このブログ投稿に従って、ActionBar のスタイルを設定しようとしています。

http://android-developers.blogspot.com/2011/04/customizing-action-bar.html

このソースコードでは:

svn checkout http://styled-action-bar.googlecode.com/svn/trunk/ styled-action-bar-read-only

ただし、で問題が発生してい/res/values/styles.xmlます。

これ:

<!-- style for the tabs -->
<style name="MyActionBarTabStyle" parent="android:style/Widget.Holo.Light.ActionBarView_TabView">
    <item name="android:background">@drawable/actionbar_tab_bg</item>
    <item name="android:paddingLeft">32dp</item>
    <item name="android:paddingRight">32dp</item>
</style>

エラーが発生しています:

Error retrieving parent for item: No resource found that matches the given name 'android:style/Widget.Holo.Light.ActionBarView_TabView'.

ただし、次の回答を使用して Android のソースを掘り下げると、テーマが実際に存在することがわかります。

https://stackoverflow.com/a/7149389/420001

プロジェクトで変更したのは、プロジェクトを から に移動し、Eclipse で「Android」>「プロジェクト プロパティの修正」を実行することだけでしandroid-11android-14。その回答にリンクされている、スタイルをリストするレポはブランチマスターにあることに注意してください。そのため、テーマが見つからない理由がわかりません。

テストのためだけに、動作中のターゲティング アプリにそのコードのチャンクを配置しandroid-14、バックグラウンド ドローアブルを差し引いたところ、同じエラーがスローされました。

4

2 に答える 2

8

https://stackoverflow.com/a/7837756/1003511のリンクによると、ありますがありWidget_Holo_Light_ActionBar_TabViewませんWidget_Holo_Light_ActionBarView_TabView。そのチュートリアルが書かれてから、リソースの名前が変更された可能性があります。追加の「ビュー」のないバージョンが API レベル 13 以降に含まれていることが示されています。チュートリアルが最初に 11 で作成された場合、13 で名前が変更された可能性があり、14 を実行しているため、名前が変更されたバージョンしか表示されません。余分な「ビュー」を削除して、コードが実行されるかどうかを確認します。

于 2012-05-22T19:55:04.777 に答える
2

Androidスタイルで検索することを指定するときに、「@」文字が欠落している可能性があります。

親スタイルがAPIドキュメントにリストされているかどうかを再確認することもできます: http ://developer.android.com/reference/android/R.style.html

名前が少し間違っているようです。

于 2012-05-22T19:59:01.400 に答える