tangxinhai11 2023-08-30 20:54 采纳率: 100%
浏览 16
已结题

Android Studio增加时间日期

不会做Android Studio的时间日期选择框

img

要求1、要有xml和java,并且可以运行。

2、是以悬浮窗的形式出现,点击EditText出现图片所示内容。

3、可以加企鹅56022846

  • 写回答

9条回答 默认 最新

  • 比特流1024 2023-08-31 13:54
    关注

    根据您的要求,您需要实现一个点击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项目中,并且运行看看效果。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

问题事件

  • 系统已结题 9月8日
  • 已采纳回答 8月31日
  • 创建了问题 8月30日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表