当前位置: 首页 > 知识库问答 >
问题:

同一对话框中的日期和时间选择器

姜增
2023-03-14

如何在同一对话框中显示日期选取器和时间选取器?如果我使用

<TimePicker
    android:id="@+id/timePicker1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

<DatePicker
    android:id="@+id/datePicker1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

应该做什么MainAcitiviy.java我是Android新手。我搜索了,但没有得到任何东西,,

共有3个答案

鞠鸿雪
2023-03-14

这是一个很好的教程开始: http://www.androidapplicationdevelopment.guru/2014/06/custom-dialog-box-in-android-with-example.html

只要按照他在做什么,但把你的布局与TimePicker和DatePicker而不是他的dialog.xml(重写它,使它不显示小猫,但你的选择)

希望这有帮助!

邓崇凛
2023-03-14

你可以从一个对话框中得到日期和时间。

使用以下代码:

new SingleDateAndTimePickerDialog.Builder(getActivity())
 // .bottomSheet() 
 // .curved() .title("Select Date")
 .titleTextColor(getResources().getColor(R.color.white))
 .minutesStep(1)
 .backgroundColor(getResources().getColor(R.color.smokewhite))
 .mainColor(getResources().getColor(R.color.colorAccent))
 .listener(new SingleDateAndTimePickerDialog.Listener()
 {
   @Override public void onDateSelected(Date date)
    {
       // selectpackages();
       String DATE_FORMAT_NOW = "dd-MM-yyyy HH:mm:ss";
       // String DATE_FORMAT_NOW1 = "yyyy-MM-dd HH:mm:ss";

       SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_NOW);
       //  SimpleDateFormat sdf1 = new SimpleDateFormat(DATE_FORMAT_NOW1);

       stringDate = sdf.format(date);

       getDateDifference(stringDate);

       // Toast.makeText(getActivity(),""+stringDate,Toast.LENGTH_SHORT).show();
    }
 }).display();

使用此依赖项:编译'com.github.florent37:singledateandtimepicker:1.1.0'

齐建安
2023-03-14

您可以将日期选择器和时间选择器放在布局XML中:参考date_time_picker.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:padding="8dp"
android:layout_height="match_parent">

<DatePicker
android:id="@+id/date_picker"
android:layout_width="match_parent"
android:calendarViewShown="true"
android:spinnersShown="false"
android:layout_weight="4"
android:layout_height="0dp" />

<TimePicker
android:id="@+id/time_picker"
android:layout_weight="4"
android:layout_width="match_parent"
android:layout_height="0dp" />

<Button
android:id="@+id/date_time_set"
android:layout_weight="1"
android:layout_width="match_parent"
android:text="Set"
android:layout_height="0dp" />

</LinearLayout>

代码

    final View dialogView = View.inflate(activity, R.layout.date_time_picker, null);
final AlertDialog alertDialog = new AlertDialog.Builder(activity).create();

dialogView.findViewById(R.id.date_time_set).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {

         DatePicker datePicker = (DatePicker) dialogView.findViewById(R.id.date_picker);
         TimePicker timePicker = (TimePicker) dialogView.findViewById(R.id.time_picker);

         Calendar calendar = new GregorianCalendar(datePicker.getYear(),
    datePicker.getMonth(),
    datePicker.getDayOfMonth(),
     timePicker.getCurrentHour(),
                            timePicker.getCurrentMinute());

         time = calendar.getTimeInMillis();
         alertDialog.dismiss();
    }});
    alertDialog.setView(dialogView);
    alertDialog.show();
 类似资料:
  • 我以前在谷歌的同一个对话框上找到了日期和时间选择器的教程。我试图在日历上设置minDate和maxDate,但没有任何帮助。我想在用户打开对话框时选择日期,默认日期为当前日期前4天。为此我想 但当我打开对话框时,什么都没有改变。代码有点长,我会尽量只发布我认为需要的内容。这是CustomDateTimePicker。java 这是在主活动中 我相信这是我需要修复的部分,但无法得到它的准确程度。如果

  • 我正在尝试实现日期选择器对话框,但该对话框显示只有一个日期,并显示日期的其余部分为空白,这可能是什么原因?

  • 我试图在Android中创建一个日期对象,从日期选择器和时间选择器。我知道如何单独进行,但当我想使用日期选择器和时间选择器创建单个日期对象时 我试过这个 但是没有运气,因为它已被弃用。有人能给我指出一个资源吗?

  • 问题内容: 我创建了一个活动,其中有一个用于插入用户出生日期的字段。我已经使用日期选择器来实现此目的。 这是我正在做的源代码: 现在,我要做的是将日期选择器限制为特定年份。 像这样: 我应该怎么做才能将上述边界设置为日期选择器? // - - - - - - - - 编辑 - - - - - - - - - - - - - - 我做了这样的事情: 这是固定上限,但下限或minDate尚未固定! 什

  • 我想要一个日期选择器只显示月份和年份。我已经定制了日期选择器来这样做,即,从选择器中移除“Day”字段,但在Android中,Lollipop得到的选择器有Day、Month和year。下面是我的一段代码。请帮我弄清楚问题所在。提前道谢。

  • 我在活动中使用了一个类来创建日期选择器对话框,它一直在工作,直到我迁移到android studio。以下是课程: 类StartDatePicker现在引发了一个错误:这个片段类应该是公共的。在我将其声明为public之后,它引发了另一个错误:这个片段内部类应该是静态的。我不想将其声明为静态的,因为私有void showDate(int year,int month,int day,int day