目錄
Android DatePicker 日期選擇器
DatePicker 屬性 和 事件
DatePicker 事件
獲得 DatePicker 的值
Android TimePicker 時間選擇器
TimePicker 屬性
TimePicker 事件
獲得 TimePicker 的值
Android CalendarView 日歷視圖
CalendarView 屬性
CalendarView 事件
獲得 CalendarView 的值
Android DatePicker 日期選擇器
在Android中,DatePicker是一個用戶界面組件,用于允許用戶選擇日期。它通常以對話框的形式出現(xiàn),用戶可以通過滾動選擇年、月和日來選擇所需的日期。
DatePicker 屬性 和 事件
在Android中,DatePicker具有許多屬性,可以用來自定義其外觀和行為。以下是一些常用屬性的說明:
- android:calendarTextColor: 設置日歷列表的文本顏色。
- android:calendarViewShown: 設置是否顯示日歷視圖??蛇x值為true或false。
- android:datePickerMode: 設置DatePicker的組件外觀??蛇x值有"spinner"和"calendar",默認為"calendar"。
- android:dayOfWeekBackground: 設置頂部星期幾的背景顏色。
- android:dayOfWeekTextAppearance: 設置頂部星期幾的文字顏色。
- android:endYear: 設置結束年份。
- android:firstDayOfWeek: 設置日歷列表以星期幾開頭。
- android:headerBackground: 設置整個頭部的背景顏色。
- android:headerDayOfMonthTextAppearance: 設置頭部日期字體的顏色。
- android:headerMonthTextAppearance: 設置頭部月份的字體顏色。
- android:headerYearTextAppearance: 設置頭部年的字體顏色。
- android:maxDate: 設置最大日期,以mm/dd/yyyy格式顯示在日歷視圖中。
- android:minDate: 設置最小日期,以mm/dd/yyyy格式顯示在日歷視圖中。
- android:spinnersShown: 設置是否顯示spinner??蛇x值為true或false。
- android:startYear: 設置第一年(內容)。
- android:yearListItemTextAppearance: 設置列表的文本在列表中的外觀。
- android:yearListSelectorColor: 設置年份列表選擇的顏色。
DatePicker 事件
DatePicker在日期值改變時會觸發(fā)OnDateChangedListener事件。這個事件通常用于捕獲用戶選擇的新日期,并執(zhí)行相應的操作。
在Android中,OnDateChangedListener接口定義了一個回調方法onDateChanged(),該方法在用戶改變DatePicker的日期時被調用。這個方法提供了幾個參數(shù):
- DatePicker:觸發(fā)了日期改變事件的DatePicker實例。
- year:新選擇的年份。
- monthOfYear:新選擇的月份,注意這里月份是從0開始的,即0代表一月,11代表十二月。
- dayOfMonth:新選擇的日期。
獲得 DatePicker 的值
DatePicker本身并沒有直接提供方法來獲取其值。但是,可以通過獲取其年、月、日的值,然后將它們組裝成需要的形式。通常,可以使用Calendar類來幫助進行這些操作。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<DatePicker
android:id="@+id/datePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
<Button
android:id="@+id/showDateButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/datePicker"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="顯示所選日期" />
</LinearLayout>
package com.example.myapplication;
import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
import android.widget.DatePicker;
import androidx.appcompat.app.AppCompatActivity;
import java.util.Calendar;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final DatePicker datePicker = findViewById(R.id.datePicker);
Button showDateButton = findViewById(R.id.showDateButton);
showDateButton.setOnClickListener(v -> {
// 獲取當前日期
Calendar calendar = Calendar.getInstance();
int year = datePicker.getYear();
int month = datePicker.getMonth();
int dayOfMonth = datePicker.getDayOfMonth();
// 設置Calendar的日期為DatePicker選擇的日期
calendar.set(year, month, dayOfMonth);
// 獲取所選日期的年、月、日
int selectedYear = calendar.get(Calendar.YEAR);
int selectedMonth = calendar.get(Calendar.MONTH); // 月份從0開始計數(shù),需要加1
int selectedDayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
// 輸出所選日期
Log.d("DatePicker", "選定日期: " + selectedDayOfMonth + "/" + (selectedMonth + 1) + "/" + selectedYear);
});
}
}
Android TimePicker 時間選擇器
在Android中,TimePicker是一個用戶界面組件,用于允許用戶選擇時間。它可以顯示為24小時制或12小時制(AM/PM)。
通常情況下,使用TimePickerDialog更為常見,因為它提供了一個方便的對話框來選擇時間。
TimePicker 屬性
在Android中,TimePicker有一個屬性android:timePickerMode,可以用來設置TimePicker的外觀。這個屬性主要有兩種取值:
- clock:這是默認的外觀,會顯示一個時鐘樣式的TimePicker。
- spinner:這種外觀會顯示為下拉菜單樣式的TimePicker,用戶可以從下拉菜單中選擇小時和分鐘。
TimePicker 事件
TimePicker組件在時間改變時會觸發(fā)TimePicker.OnTimeChangedListener事件。這個事件通常用于捕獲用戶選擇的新時間,并執(zhí)行相應的操作。
在Android中,TimePicker.OnTimeChangedListener接口定義了一個回調方法onTimeChanged(),該方法在用戶改變TimePicker的時間時被調用。這個方法提供了三個參數(shù):
- TimePicker:觸發(fā)了時間改變事件的TimePicker實例。
- hourOfDay:新選擇的小時數(shù),24小時制。
- minute:新選擇的分鐘數(shù)。
獲得 TimePicker 的值
與DatePicker類似,TimePicker也沒有提供直接獲取其值的方法。但是,可以通過調用getHour()和getMinute()方法分別獲取所選的小時和分鐘。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<TimePicker
android:id="@+id/timePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:timePickerMode="spinner"
android:layout_centerInParent="true" />
</LinearLayout>
package com.example.myapplication;
import android.os.Bundle;
import android.util.Log;
import android.widget.TimePicker;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TimePicker timePicker = findViewById(R.id.timePicker);
timePicker.setIs24HourView(true); // 設置為24小時制
// 設置時間改變監(jiān)聽器
timePicker.setOnTimeChangedListener((view, hourOfDay, minute) -> {
// 當時間改變時調用此方法
// 在這里你可以獲取所選的小時和分鐘,并執(zhí)行你需要的操作
Log.d("TimePicker", "選定的時間: " + hourOfDay + ":" + minute);
});
}
}
Android CalendarView 日歷視圖
在Android中,CalendarView是一個用于顯示和選擇日期的日歷視圖控件。通過CalendarView,用戶可以瀏覽月份,并選擇特定的日期??梢允褂胊ndroid:minDate和android:maxDate屬性來設置CalendarView顯示的時間范圍。
CalendarView 屬性
CalendarView 屬性很多,我們只介紹幾個主要的
CalendarView 事件
CalendarView在選擇日期時會觸發(fā)CalendarView.OnDateChangeListener事件。這個事件通常用于捕獲用戶選擇的新日期,并執(zhí)行相應的操作。文章來源:http://www.zghlxwxcb.cn/news/detail-832818.html
在Android中,CalendarView.OnDateChangeListener接口定義了一個回調方法onSelectedDayChange(),該方法在用戶改變CalendarView選擇的日期時被調用。這個方法提供了幾個參數(shù):文章來源地址http://www.zghlxwxcb.cn/news/detail-832818.html
- CalendarView:觸發(fā)了日期改變事件的CalendarView實例。
- year:新選擇的年份。
- month:新選擇的月份,從0開始計數(shù),即0代表一月,11代表十二月。
- dayOfMonth:新選擇的日期。
獲得 CalendarView 的值
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<CalendarView
android:id="@+id/calendarView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/selectedDateTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="選定日期"
android:textSize="20sp" />
</LinearLayout>
package com.example.myapplication;
import android.os.Bundle;
import android.util.Log;
import android.widget.CalendarView;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private TextView selectedDateTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CalendarView calendarView = findViewById(R.id.calendarView);
selectedDateTextView = findViewById(R.id.selectedDateTextView);
calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
// 當日期改變時調用此方法
String selectedDate = year + "-" + (month + 1) + "-" + dayOfMonth;
selectedDateTextView.setText("選定日期: " + selectedDate);
Log.d("CalendarView", "選定日期: " + selectedDate);
}
});
}
}
到了這里,關于學習Android的第十四天的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!