「greenhighlight」というテーマがあります。このテーマはAndroidアクションバースタイルジェネレーターを使用して生成され、デフォルトのActionBarSherlockテーマを継承しています。テーマは、アクションバーの下部にあるハイライトを青から緑に変更する以外は何もしません。
私のすべての活動をテーマにするために、私はただします:
<application android:theme="@style/Theme.greenhighlight"...
これはアクティビティに非常に適しています(アクションバーの下部にある緑色のハイライトに注意してください)。
ただし、自分のアクティビティに合わせてダイアログのテーマを設定するのに問題があります。
私の「greenhighlight_Dialog」テーマは次のように定義されています。
<style name="greenhighlight_Dialog" parent="@style/Theme.Sherlock.Dialog">
<item name="android:progressBarStyleHorizontal">
@style/greenhighlight_ProgressBar
</item>
</style>
デフォルトのSherlockダイアログテーマを継承し、生成された「greenhighlight」テーマで定義されたプログレスバースタイルを使用してプログレスバーをオーバーライドしています。上のスクリーンショットでは、プログレスバーが正しい緑の色合いであることがわかります。
テーマを使用するために、次のコードを実行しています。
ContextThemeWrapper ctw =
new ContextThemeWrapper(this, R.style.greenhighlight_Dialog);
AlertDialog.Builder builder = new AlertDialog.Builder(ctw);
...
ProgressDialog pd = new ProgressDialog(this, R.style.greenhighlight_Dialog);
...
私の問題は、オーバーライドする必要のある属性がわからないことです。私は、 Styles and Themes docoが推奨するstyles.xmlとthemes.xmlを調べてきました(ただし、「R.styleリファレンスは十分に文書化されておらず、スタイルを完全に説明していない」と記されています)。はTheme.Dialogで定義された多くのスタイルであり、必要な変更を取得するためにオーバーライドする必要があるスタイルがわかりません。
ダイアログに緑色のタイトルテキスト、タイトルの下の緑色のハイライトバー、およびチェックリスト項目の緑色のチェックマークを付けるには、どの属性をオーバーライドする必要がありますか?