DatePicker
およびTimePicker
ダイアログのデフォルトの色を変更する方法はありますか?
これは私が試したコードです
<DatePicker
style="@style/date_picker"
Android:background="#6495ED"
Android:id="@+id/DatePicker"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_marginTop="5dp"
Android:layout_marginBottom="5dp"
Android:layout_marginLeft="5dip"
Android:layout_marginRight="5dip" />
<TimePicker
Android:id="@+id/TimePicker"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_marginTop="5dp"
Android:layout_marginBottom="5dp"
Android:layout_marginLeft="5dip"
Android:layout_marginRight="5dip" />
背景色のみを変更する2行の下で、日付と時刻の両方のピッカーのデフォルトの銀色を変更します。
助けてください。
style="@style/date_picker"
Android:background="#6495ED"
ピッカーダイアログを変更する最良の方法は、カスタムスタイルを追加することです。
<style name="TimePickerTheme" parent="Theme.AppCompat.Light.Dialog">
<item name="colorAccent">@color/color_primary</item>
<item name="Android:layout_width">wrap_content</item>
<item name="Android:layout_height">wrap_content</item>
</style>
TimePickerDialog timePicker = new TimePickerDialog(mContext, R.style.TimePickerTheme, fromListener, hour, min, false);
私にとって完璧に働いた。
このテーマをアプリのデフォルトテーマとして最終的に設定するには、カスタムテーマを作成していくつかのディレクトリに保存する必要があります
まず、値に次のようなthemes.xmlを追加します。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyAppTheme" parent="@Android:style/Theme.Light.NoTitleBar">
<!-- Any customizations for your app running on pre-3.0 devices here -->
</style>
</resources>
次に、resディレクトリに "values-v11"(Android 3.0+)という名前のディレクトリを作成し、次のようなthemes.xmlを配置します
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyAppTheme" parent="@Android:style/Theme.Holo.Light">
<!-- Any customizations for your app running on 3.0+ devices here -->
</style>
</resources>
最後に、resディレクトリに "values-v14"(Android 4.0+)という名前のディレクトリを作成し、themes.xmlを作成します
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyAppTheme" parent="@Android:style/Theme.DeviceDefault.Light.NoActionBar">
<!-- Any customizations for your app running on 4.0+ devices here -->
</style>
</resources>
最後にmanifest.xmlで
<application
...
Android:theme="@style/MyAppTheme">
古いネイティブピッカーウィジェットの灰色をXMLで簡単に変更する方法はないと思います。
ライブラリを使用することをお勧めします HoloEverywhere DatePickerとTimePickerがすべてのAndroidプラットフォーム2.1+で本当に素敵に見えるように。
このようにテーマを変更することで、日付ピッカーのテーマを変更できます。
あなたに応じてアイテムを変更します。
<style name="date_picker" parent="@Android:style/Widget.DeviceDefault.DatePicker">
<item name="Android:divider">@drawable/dialog_divider</item>
あなたに応じてアイテムを変更します。このテーマをデータピッカースタイルに設定します
style="@style/date_picker"
日付ピッカーの場合、このコードをcolor.xmlに追加します
<color name="mdtp_accent_color">#070B82</color>
<color name="mdtp_accent_color_dark">#0D105E</color>
両方について、style.xmlでスタイルを定義できます
<style name="TimePickerTheme" parent="Theme.AppCompat.Light.Dialog">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/blue</item>
</style>
xmlでスタイルを設定します。
Android:theme="@style/MyAppTheme"
またはプログラム的に:
TimePickerDialog timePicker = new TimePickerDialog(mContext、R.style.TimePickerTheme、fromListener、hour、min、false);