0

アプリケーションでサポート ライブラリの最新の ActionBarSherlock 拡張機能を使用しています。エミュレーター 4.2 と Android 4.2 を搭載したデバイスでアプリを実行したときに、ビューとアクション バー自体の奇妙な外観に遭遇しました。エミュレーターのスクリーンショットをご覧ください。ListView のすべての行区切りに青い線が表示され、ホーム アイコンに下線が引かれていることがわかります。ここに画像の説明を入力

また、小さな右矢印には下線が引かれ、適切にスケーリングされていません。それを大局的に見ると、Android 2.2のエミュレーターでうまく表示されます

テーマの使用方法は次のとおりです。

ManifestFile.xml:

android:theme="@style/AppThemeWithoutTitle"

そしてstyles.xml:

<style name="AppThemeWithoutTitle" parent="Widget.Sherlock.ActionBar">
  <item name="actionBarStyle">@style/MyActionBarWithoutTitle</item>
  <item name="android:actionBarStyle">@style/MyActionBarWithoutTitle</item>
</style>

<style name="MyActionBarWithoutTitle" parent="Widget.Sherlock.ActionBar">
  <item name="android:displayOptions">useLogo|showHome</item>
</style>

この問題を解決するにはどうすればよいですか?

4

1 に答える 1

0

Widget.Sherlock.ActionBarテーマではなく、スタイルです。最初の手がかりは、で始まることWidgetです。Android でのテーマの規則では、単語で開始するThemeか、少なくともThemeスタイルの名前にその単語を入れます。

actionBarStyleオーバーライドしてテーマとして使用しようとしたスタイルは、オーバーライドしようとしているスタイルに割り当てられています。

次に、実際のテーマを親として持つ必要があり、その場合にのみオーバーライドactionBarStyleして機能させることができます。

<style name="MyAppTheme" parent="Theme.Sherlock.Light.DarkActionBar">
    <item name="actionBarStyle">@style/MyActionBarTheme</item>
    <item name="android:actionBarStyle">@style/MyActionBarTheme</item>
</style>

<style name="MyActionBarTheme" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
    <item name="background">@drawable/bg_striped</item>
    <item name="android:background">@drawable/bg_striped</item>

    <item name="backgroundSplit">@drawable/bg_striped_split</item>
    <item name="android:backgroundSplit">@drawable/bg_striped_split</item>
</style>

ここでオーバーライドできるすべての利用可能なテーマを見つけることができます。

于 2013-03-10T07:10:25.320 に答える