Android
 Computer >> コンピューター >  >> プログラミング >> Android

【Android】DatePickerの色を変更する方法をサンプルコード付きで解説

この記事では、AndroidアプリでDatePicker(日付選択ウィジェット)の色を変更する方法を、実際に動作するサンプルコードとともにステップごとにわかりやすく解説します。

手順1:Android Studioで新規プロジェクトを作成する

まず、Android Studioを起動し、メニューから「File」→「New Project」を選択します。必要な項目をすべて入力して、新しいプロジェクトを作成しましょう。

手順2:レイアウトファイル(activity_main.xml)にコードを追加する

res/layout/activity_main.xml に以下のコードを記述します。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="https://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <DatePicker
        android:id="@+id/datePicker"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#6495ED"
        android:layout_centerInParent="true"/>

</RelativeLayout>

ハイライトされている android:background="#6495ED" の部分に注目してください。background属性にカラーコードを指定するだけで、DatePickerの背景色を変更できるのが最もシンプルな方法です。お好みの色に合わせてカラーコードを書き換えてみてください。

手順3:MainActivity.javaにコードを追加する

次に、src/MainActivity.java に以下のコードを記述します。

import android.annotation.TargetApi;
import android.os.Build;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.DatePicker;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @TargetApi(Build.VERSION_CODES.O)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        DatePicker datePicker = findViewById(R.id.datePicker);
        datePicker.setOnDateChangedListener(new DatePicker.OnDateChangedListener() {
            @Override
            public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                Toast.makeText(MainActivity.this,
                        "変更した日付:" + dayOfMonth + " - " + monthOfYear + " - " + year,
                        Toast.LENGTH_LONG).show();
            }
        });
    }
}

このコードでは、setOnDateChangedListener() を使って日付が変更されたタイミングを検知し、Toastで選択された日付を画面に表示しています。動作確認にも便利なので、ぜひ試してみてください。

手順4:AndroidManifest.xmlを確認する

androidManifest.xml は以下のようになります。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="app.com.sample">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>

アプリを実行して動作を確認しよう

それでは、アプリを実際に実行してみましょう。ここでは、実機のAndroidスマートフォンをパソコンに接続していることを前提に説明します。

Android Studioでプロジェクト内のアクティビティファイルを開き、ツールバーにある「Run」アイコンをクリックしてください。デバイス選択のダイアログが表示されるので、接続したモバイル端末を選択します。しばらくすると、端末に以下のような画面が表示されます。

【Android】DatePickerの色を変更する方法をサンプルコード付きで解説

補足:テーマでDatePickerDialogの色を一括変更する方法

個別のウィジェットではなく、アプリ全体でDatePickerDialogの配色を統一したい場合は、styles.xmlcolorAccent を変更する方法もおすすめです。

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorAccent">#6495ED</item>
</style>

colorAccent を変更すると、DatePickerDialogのヘッダー部分や選択中の日付の色などが自動的に反映され、デザインの一貫性を保ちやすくなります。用途に応じて、background属性での個別指定と使い分けてみてください。

  1. ActionBarActivityでActionBarの背景色を変更する方法

    この記事では、ActionBarActivityのActionBar(アクションバー)の背景色を変更する手順について解説します。テーマのスタイル定義を編集することで、アプリ全体のデザインに合わせたカスタマイズが可能になります。ステップ1:新規プロジェクトの作成Android Studioを起動し、「File」→「New Project」を選択して新しいプロジェクトを作成します。必要な項目をすべて入力してプロジェクトのセットアップを完了させてください。ステップ2:レイアウトファイルの編集res/layout/activity_main.xmlに以下のコードを追加します。<?xml vers

  2. Androidのオプションメニューの背景色を変更する方法を徹底解説

    Androidのオプションメニューの背景色を変更する方法この記事では、Androidアプリのオプションメニュー(オプションズメニュー)の背景色を変更する方法を、実際に動作するサンプルコードとともにステップごとに解説します。テーマ(styles.xml)にandroid:itemBackgroundを設定するだけで、メニューの背景色を簡単にカスタマイズできます。ステップ1:新規プロジェクトの作成まず、Android Studioで新しいプロジェクトを作成します。メニューからFile → New Projectを選択し、必要な項目をすべて入力してプロジェクトを作成しましょう。ステップ2:レイアウト