1

カスタム テーマを適用する DatePickerDialog を作成しています。カスタムテーマの一部のみを適用しています。私はタイトルを要求せずwindowBackground は灰色で、結果のダイアログ全体 (数字と月を除く) はオレンジ色です。私は何を間違っていますか?これが私のカスタムテーマです:

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="GPSTheme" parent="android:style/Theme.Dialog">
        <item name="android:textColor">#000000</item>
        <item name="android:windowTitleStyle">@style/Theme.Sherlock.Light</item>
        <item name="android:background">@drawable/orange_gradient</item>
        <item name="android:windowBackground">@drawable/cool_gradient</item>
        <item name="android:windowNoTitle">true</item>
    </style>
</resources>

ここで、(フラグメント内から) ダイアログを呼び出しています。

btnStartDate.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
            public void onDateSet(DatePicker view, int year,
                    int monthOfYear, int dayOfMonth) {
                if (DatesValid(true, year, monthOfYear, dayOfMonth)) {
                    StartDate.set(Calendar.YEAR, year);
                    StartDate.set(Calendar.MONTH, monthOfYear);
                    StartDate.set(Calendar.DAY_OF_MONTH, dayOfMonth);
                    SetTextDates();
                } else {
                    Toast.makeText(
                            getActivity(),
                            "Start Date cannot be greater than End Date",
                            Toast.LENGTH_SHORT).show();
                }
                GetDistanceTraveledForTime();
            }
        };
        DatePickerDialog d = new DatePickerDialog(getActivity(),
                R.style.GPSTheme, mDateSetListener,
                StartDate.get(Calendar.YEAR), StartDate
                        .get(Calendar.MONTH), StartDate
                        .get(Calendar.DAY_OF_MONTH));
        //DatePicker dp = d.getDatePicker();
        //LinearLayout l = (LinearLayout)dp.getChildAt(0);
        //l.setBackgroundColor(R.drawable.orange_gradient);
        d.setIcon(R.drawable.calendar_2_icon);
        d.show();
    }
});

私はここを見ました: https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/res/res/values/themes.xmlのすべての継承された属性の Theme.Dialog 。

スクリーンショットは次のとおりです。

ダイアログのスクリーンショット

4

0 に答える 0