33

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"
4

5 に答える 5

39

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

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

私にとって完璧に機能しました。

于 2016-09-09T08:43:35.930 に答える
6

You have to create a custom theme and save it in some directories to finally set this theme as the default one for the app

First, in values add a themes.xml like this:

<?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> 

Then, create a directory with the name "values-v11" (Android 3.0+ ) in the res directory and put a themes.xml like this

<?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>

Finally, create a directory with the name "values-v14" (Android 4.0+) in the res directory and create a 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>

Finally in your manifest.xml

<application
        ...
        android:theme="@style/MyAppTheme">
于 2013-12-03T11:41:41.730 に答える
3

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

ライブラリHoloEverywhereを使用して、DatePicker と TimePicker がすべての Android プラットフォーム 2.1 以降で非常に見栄えがするようにすることをお勧めします。

于 2013-12-08T14:16:27.623 に答える
3

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

あなたに応じて項目を変更します。

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

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

style="@style/date_picker"
于 2013-12-09T08:28:49.503 に答える