web-dev-qa-db-ja.com

AndroidのDatePickerおよびTimePickerダイアログのデフォルトの色を変更するにはどうすればよいですか?

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"
24
KKC

ピッカーダイアログを変更する最良の方法は、カスタムスタイルを追加することです。

<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);

私にとって完璧に働いた。

29
Godwin

このテーマをアプリのデフォルトテーマとして最終的に設定するには、カスタムテーマを作成していくつかのディレクトリに保存する必要があります

まず、値に次のような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">
6
Aditya

古いネイティブピッカーウィジェットの灰色をXMLで簡単に変更する方法はないと思います。

ライブラリを使用することをお勧めします HoloEverywhere DatePickerとTimePickerがすべてのAndroidプラットフォーム2.1+で本当に素敵に見えるように。

3
Julia Hexen

このようにテーマを変更することで、日付ピッカーのテーマを変更できます。

あなたに応じてアイテムを変更します。

<style name="date_picker" parent="@Android:style/Widget.DeviceDefault.DatePicker">
<item name="Android:divider">@drawable/dialog_divider</item>

あなたに応じてアイテムを変更します。このテーマをデータピッカースタイルに設定します

style="@style/date_picker"
3
Ando Masahashi

日付ピッカーの場合、このコードを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);

0
Maryam Azhdari