2012-07-30 3 views
5

スタイリングは、私のアンドロイドプラットフォームに関する知識の向上のための場所です。私は午前中に簡単な変更をしようとしており、それを達成することができませんでした。ActionSherlockBarスタイリング - PopupMenu

アクションバーのオーバーフローメニューのスタイルを変更したいと思います。背景色を変更したり、アニメーションを追加して、クリックすると選択した色にフェードすることができました。しかし、私の人生では、私はテキストの色を変更することはできません。

以下は2つのスクリーンショットです.1つはTheme.Sherlockを使用し、もう1つはTheme.Sherlock.Lightを使用します。

Theme.Sherlock - これは私がカスタマイズした私の現在の設定です。私が望むのは、オーバーフロー(別名:android:popupmenu)がホロのテーマ(以下のように)にあり、理想的にはテキストの色を変更できることです。

Theme.Sherlock

Theme.Sherlock.Light - このテーマは、私が見たいオーバーフローメニューのスタイルを示しています。ただし、赤で強調表示されているように、オーバーフローボタンは間違った色です。このテーマでは、水平線も描画されます。

Theme.Sherlock.Light

私はそれがオーバーフローアイコンとラインの問題でポップアップ問題、またはTheme.Sherlock.LightでTheme.Sherlock変更する方が簡単/最善であるかどうかわかりません。アプリケーションは「軽い」テーマなので、オプション2はおそらく長期的にはより良い選択ですが、どちらのテーマを変更しても問題を解決できる答えを受け入れます。

p.s.テーマ/スタイルを変更するための属性のリストはどこにありますか?eclipseでは自動補完が非常に不完全です。

更新

これは戻って、同じ問題に実際にイムなどのネイティブアクションバーのアップデートではありませんが、もはや2.3以下をサポートしています。

<style name="AppTheme" parent="android:Theme.Holo.Light"> 
    <item name="android:actionOverflowButtonStyle">@style/OverFlow</item> 
</style> 

<style name="OverFlow" parent="@android:style/Widget.Holo.ActionButton.Overflow"> 
    <item name="android:src">**Insert your icon here**</item> 
</style> 

答えて

3

の助けを借りてTheme.Sherlockのスタイルを上書きしてみますが、この問題に遭遇する人に。オーバーフローの背景色を変更することができたことは興味深いことが分かりました。私はテキストを変更するのがかなり簡単であったのに対し、把握するのは非常に難しいことを発見しました。カスタムテーマのandroid:itemTextAppearanceの値をオーバーライドするだけです。

<item name="android:itemTextAppearance">@style/your_new_text_appearance</item> 

<style name="your_new_text_appearance"> 
    <item name="android:textColor">@color/red</item> 
</style> 
+0

私たちは決して解決策を見つけませんでした。しかし、私は以来、別の会社に移った。次回は、他の開発者の方にお答えします。 – JonWillis

+1

ああ私の神、私は十分にこれをupvoteすることはできません。その色を変える方法を数十回試して、そして最後に解決策を探しています。 – Draiken

2

私はActionBarSherlockに慣れていないんだけど、あなたは、フォルダ

path\to\android\android-sdk\platforms\android-api-level\data\res\drawable-resolution 

であなたのハードディスク上の標準的なオーバーフローのアイコンを見つけることができますし、彼らはまたic_menu_moreoverflow_normal_holo_dark.pngic_menu_moreoverflow_normal_holo_light.png

と呼ばれていますオンラインでhereを見つけることができます。

左の円はドロアブルであると私は信じています。 res\drawableの中を見てください。

+0

こんにちは、提案のおかげで。これを可能にするテーマが与えられた場合、プロジェクトに別の描画可能イメージを追加するよりも、そうすることをお勧めします。ちょうどまだそれを行う方法を試してみよう – JonWillis

+0

これに2年後に戻ってAndroidに戻って、ネイティブのアクションバーで同じことに戻ってください。あなたのアイコンにあなたのスポットが、今はもう少しスタイリングを理解しています。私が質問に追加したものを自分のスタイルに加えるだけです。 – JonWillis

2

単純には次の操作を行います。

<item name="popupMenuStyle">@style/PopupMenu</item> 

:アプリのテーマのスタイルでtheme.xmlでこのアイテムを追加します。あなたが望むようにテキストのサイズやその他のパラメータを無効にすることができるスタイルで

<style name="PopupMenu" parent="@style/Widget.Sherlock.Light.ListPopupWindow"> 
    <item name="android:textSize">14sp</item> 
</style> 

:のstyles.xmlでは、この新しいスタイルを追加します。