标签: android-datepicker

使Datepicker按钮看起来与Google日历应用程序中的按钮类似

我的应用程序应该有一个Datepicker.要调用日期选择器片段,按下一个按钮,然后出现浮动日期选择器.我的问题是该按钮看起来与用于接受数据的其他UI组件不相似.有什么办法可以让按钮外观和功能像谷歌日历应用程序中的那样?日期选择器按钮动态显示所选日期,并希望也具有该功能.

精选参考:

我当前的按钮:

在此输入图像描述

我想要实现的按钮类型: 在此输入图像描述

android android-datepicker android-layout android-button android-calendar

5
推荐指数
1
解决办法
2357
查看次数

在android中验证"从日期"和"到日期"

我在其中用户选择即─两个日期的应用程序从日期到日期.无论领域不应该接受任何日期小于当前date.I已经通过在本网站上的一些帖子不见了,并通过使用单日期选择器对话框的实现这个功能和单个ondatesetListener.

我的问题是,我无法验证迄今为止应始终大于或等于日期的条件.请帮助我.我无法捕获起始日期,因为活动日期超过活动结束日期谢谢提前.以下是代码:

public class Leave_form extends Activity 
{       
    private static EditText tvDislpayResult;
    private Button startPickDate;
    private Button endPickDate;
    private Calendar startDate;
    private Calendar endDate;
    //private EditText startDateDisplay;
    //private EditText endDateDisplay;
    static final int DATE_DIALOG_ID = 0;
    private TextView startDateDisplay;
    private TextView endDateDisplay;
    private TextView activeDateDisplay;
    private Calendar activeDate;
    private Calendar currentDate;
    private Calendar fromDate;

    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_leave_form);

        /*  capture our View elements for …
Run Code Online (Sandbox Code Playgroud)

validation android android-datepicker

5
推荐指数
1
解决办法
1万
查看次数

使用robolectric测试DatePickerDialog

我正试图用robolectric测试日期选择器的行为.

@Test
public void shouldSetStartedOnDate() {
  activity.findViewById(R.id.cruise_form_pick_started_on_button).performClick();

  DatePickerDialog dialog = (DatePickerDialog) ShadowDatePickerDialog.getLatestDialog();
  assertThat(dialog.isShowing(), is(true));
  dialog.updateDate(2013, 3, 13);

  ShadowDialog shadowDialog = Robolectric.shadowOf(dialog);
  shadowDialog.clickOnText("Done");
  assertThat(dialog.isShowing(), is(false));

  TextView startedOnText = (TextView) activity.findViewById(R.id.cruise_form_started_on);
  assertThat(startedOnText.getText().toString(), equalTo("2013-03-13"));
}
Run Code Online (Sandbox Code Playgroud)

不幸的是dialog.updateDate(2013, 3, 13)引发了java.lang.NullPointerException

java.lang.NullPointerException
    at android.app.DatePickerDialog.updateDate(DatePickerDialog.java:142)
    at net.lucassus.yachtexpenses.activities.CruiseFormActivityTest.shouldSetStartedOnDate(CruiseFormActivityTest.java:99)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
    ...
Run Code Online (Sandbox Code Playgroud)

在调试器中,我注意到dialog.mDatePicker实例变量是null.问题是我做错了什么?不幸的是,我找不到如何用robolectric v2.0测试日期选择器对话框的好例子.

android android-datepicker robolectric

5
推荐指数
0
解决办法
884
查看次数

如何在方向更改时保留datetime对话框的状态?

在方向更改时,将重新创建活动并重新创建日期时间对话框.我想保存用户已更改的日期时间对话框的状态.

在我关闭对话框之前,我想保留日期时间对话框的状态.

注意,我可以在onSaveInstanceState中关闭对话框,我可以在其中使用该包.但是,当活动进入暂停状态时也会调用它,在这种情况下,我不想忽略该对话框.因此,决定在onDestroy方法上解除它,但我没有bundle对象.这就是我面临这个问题的原因.有没有办法在onDestroy中访问捆绑包?或者对我的问题的任何其他建议将不胜感激.

@Override
protected void onDestroy() {
    if(dateTimeDialog !=null && dateTimeDialog.isShowing())
    {
        //<HERE I WANT THE STATE TO BE SAVED IN THE BUNDLE>
        dateTimeDialog.dismiss();
    }
    super.onDestroy();
}
Run Code Online (Sandbox Code Playgroud)

基本上,如果用户离开我们的应用程序,我们会锁定应用程序,并在解锁屏幕时恢复正在查看的对话框.如果我们在onSavedInstanceState上解除对话框,在解锁应用程序之后它会调用onRestart,start和resume方法,其中没有一个方法提供Bundle实例作为参数.

此外,我们有横向和纵向的单独布局,因此我们无法在清单文件中设置configChanges ="orientation".

android android-datepicker android-dialog android-activity android-dialogfragment

5
推荐指数
1
解决办法
499
查看次数

如何在Android上突出显示datepicker中的特定日期

我需要开发一个检查数据库的应用程序,并突出显示该数据库上有任何记录的日期(类似这样).我已经做了一些关于它的研究,但我找到的方法是手动着色白天的背景.

android-datepicker

5
推荐指数
0
解决办法
1088
查看次数

Android中自定义对话框中的日期选择器

我想在自定义对话框中使用日期选择器.在按钮上单击日历将打开以选择用户的日期.我在我的customDilaog类中有Button,在该按钮上单击我想打开日历视图.如果单击此按钮,我的应用程序崩溃.我已经完成了这件事.

CustomDialog.java

public class CustomDialog extends Dialog implements android.view.View.OnClickListener {

     private Button date;
     DateFormat format = DateFormat.getDateInstance();
     Calendar calender = Calendar.getInstance();

     public CustomDialog(Context context) {
         super(context);
     }

     protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
              date=(Button)findViewById(R.id.dateText2);
     }
     public void onClick(View v) {
         if (v.getId()==R.id.datePick) {
             openDatePicker(v);
         //another if-else statements
         }

     public void updateDate(){
          date.setText(format.format(calender.getTime()));
     }

     public void setDate(){
           new DatePickerDialog(getContext(),dp,calender.get(Calendar.YEAR) ,calender.get(Calendar.MONTH),calender.get(Calendar.DAY_OF_MONTH)).show();                   
     }

         DatePickerDialog.OnDateSetListener dp = new DatePickerDialog.OnDateSetListener() {

        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
                calender.set(Calendar.YEAR,year);
                calender.set(Calendar.MONTH, monthOfYear); …
Run Code Online (Sandbox Code Playgroud)

android android-datepicker customdialog

5
推荐指数
1
解决办法
6765
查看次数

Android只有材料设计的月份和年份选择器

我正在开发需要输入信用卡到期日的应用程序,但是andorid 5.0+日期时间选择器只有选择日期和日期的选项.是否有任何图书馆,因为我找不到.我也没有找到关于此的材料设计指南.

谢谢

android android-datepicker material-design

5
推荐指数
1
解决办法
7439
查看次数

Android:datepickerdialog标题看起来不应该

我正在创建一个像这样的datepickerdialog:

Calendar newCalendar = Calendar.getInstance();

myDatePicker = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
// do something
}
}
, newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));

myDatePicker.show();
Run Code Online (Sandbox Code Playgroud)

不幸的是,我回来的东西看起来像这样:

我得到了什么

我真正希望获得的是这样的东西:

我想得到什么

我在谈论标题.我想要那一天,并在那个月,一个月,一年之后..这似乎是相当标准和默认的,因为我看到大量的示例屏幕截图看起来像漂浮在周围,但显然我正在做的事情错了,因为它看起来不像我.

编辑:一个潜在的解决方法是使用第三方库:

https://github.com/wdullaer/MaterialDateTimePicker

但这并不理想.我仍然希望找到一个不需要第三方库的解决方案.

java android widget android-datepicker datepickerdialog

5
推荐指数
0
解决办法
194
查看次数

Datepicker:如何使用C#xamarin单击edittext时弹出datepicker

如何在Xamarin.Android中的编辑文本点击或焦点事件中显示日期选择器弹出窗口?

c# android-datepicker xamarin.android xamarin

5
推荐指数
2
解决办法
1万
查看次数

在DatePIcker中设置MinDate和MaxDate

创建我正在显示DatePicker的应用程序.现在我要设置DatePicker的MinDate是前两年,最大日期是未来两年.选择应该基于当前日期.假设当前日期是23/11/2016所以datepicker应该显示日期到2014年11月23日在DatePicker所有日期应该在2014年11月23日之前被禁用.当我们点击Datepicker光标应该是当前日期.Created DtaePicker

private void showDateDailog() {

    final DatePickerDialog datePickerDialog = new DatePickerDialog(mContext, new DatePickerDialog.OnDateSetListener() {

        @Override
        public void onDateSet(DatePicker datePicker, int selectedYear, int selectedMonth, int selectedDate) {

            year = selectedYear;
            month = selectedMonth;
            day = selectedDate;

          ((TextView) findViewById(R.id.textViewTORStartDate)).setText(new StringBuilder().append(day).append("/")
                        .append(month + 1).append("/").append(year));

        }
    }, year, month, day);
    datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis());
    datePickerDialog.show();
}
Run Code Online (Sandbox Code Playgroud)

android android-datepicker

5
推荐指数
2
解决办法
1万
查看次数