不会做Android Studio的时间日期选择框
要求1、要有xml和java,并且可以运行。
2、是以悬浮窗的形式出现,点击EditText出现图片所示内容。
3、可以加企鹅56022846
不会做Android Studio的时间日期选择框
要求1、要有xml和java,并且可以运行。
2、是以悬浮窗的形式出现,点击EditText出现图片所示内容。
3、可以加企鹅56022846
根据您的要求,您需要实现一个点击EditText弹出一个悬浮窗的形式的时间日期选择框。您可以参考以下的xml和java代码,它们可以实现您想要的功能。
xml代码:
XML
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp">
<EditText
android:id="@+id/et_date_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请选择时间和日期"
android:focusable="false"/>
</LinearLayout>
java代码:
import androidx.appcompat.app.AppCompatActivity;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TimePicker;
import java.util.Calendar;
public class MainActivity extends AppCompatActivity {
private EditText etDateTime; //用于显示时间日期的输入框
private Calendar calendar; //用于获取当前时间日期的日历对象
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件和日历对象
etDateTime = findViewById(R.id.et_date_time);
calendar = Calendar.getInstance();
//给输入框设置点击监听器
etDateTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//弹出时间选择框
showTimePickerDialog();
}
});
}
//显示时间选择框的方法
private void showTimePickerDialog() {
//创建一个时间选择器对话框,参数依次为:上下文、监听器、时、分、是否为24小时制
TimePickerDialog timePickerDialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
//当用户设置了时间后,将时间显示在输入框中,并且弹出日期选择框
etDateTime.setText(hourOfDay + ":" + minute);
showDatePickerDialog();
}
}, calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), true);
//显示时间选择器对话框
timePickerDialog.show();
}
//显示日期选择框的方法
private void showDatePickerDialog() {
//创建一个日期选择器对话框,参数依次为:上下文、监听器、年、月、日
DatePickerDialog datePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
//当用户设置了日期后,将日期追加到输入框中
etDateTime.append(" " + year + "-" + (month + 1) + "-" + dayOfMonth);
}
}, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH));
//显示日期选择器对话框
datePickerDialog.show();
}
}
您可以将这些代码复制到您的Android Studio项目中,并且运行看看效果。