如何为时间选取器(也用于日期选取器)实现此布局?默认的布局是一个(非常大的)时钟或一个(不是很漂亮的)旋钮式时间选择器。我在几个应用程序中看到了这一点,但无法找到如何实现这种外观和感觉。Android日期/时间轮选取器
回答
这个例子有三个采摘:NumberPicker,DatePicker的和TimerPicker。
https://github.com/rodrigobusata/android-pickers
或
只能使用无库中的样品,并覆盖Android的默认采摘。
谢谢。 “只使用没有库的样本并覆盖Android默认选取器”是什么意思? – Amos 2015-04-06 12:23:55
您的惠康。在这个示例中,有一个示例使用了一个库来覆盖Android的默认选择器,可以更改颜色,但是您只希望使用具有默认颜色的选择器,请仅查看位于应用程序文件夹内的示例并覆盖“net.simonvt”。 timepicker.TimePicker“改为”TimePicker“。 – Busata 2015-04-06 12:32:06
据我所知,我需要net.simonvt.datepicker.DatePicker(例如)实现为了看到我想要的外观和感觉,我在哪里可以找到它以便在我的代码中使用它?在链接中我只看到对它的引用,但不是实际的实现,我错过了什么? – Amos 2015-04-06 13:08:43
你应该注意到这个对话框是一个片段。
也就是说,主要想法是这样的: 当您需要启动此日期选取器时,您将显示该片段作为当前活动的叠加层。此片段具有日期选取侦听器:用户选择日期时启动的事件。好吧,一切都很简单,直到这里最难理解的将是最后一个:片段和活动之间的互动。做什么的?因为活动需要知道日期被选中。为了实现这一点,片段将有一个公共接口,将由该活动实施。
好吧,让我们来看看代码:
MyActivity.java
public class MyActivity extends FragmentActivity implements DatePickerFragment.FragmentInteraction{
@Override
public void onCreate(Bundle savedInstanceState){
Button showDatePickerButton = (Button)findViewById(R.id.dateButton);
showDatePickerButtonsetOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
DialogFragment newFragment = new DatePickerFragment();
newFragment.show(getSupportFragmentManager(), getString(R.string.datePickerTitle));
}
});
}
@Override
public void doSomethingWithDate(int day, int month, int year) {
Log.d("", "SELECTED DATE " + month + "/" + day + "/" + year);
}
}
DatePickerFragment.java
public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener{
private FragmentInteraction mListener;
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
mListener = (FragmentInteraction) activity;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
//Show picker with actual date presetted
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
@Override
public void onDateSet(DatePicker view, int anio, int mes, int dia) {
mListener.doSomethingWithDate(dia, mes + 1, anio);
}
public interface FragmentInteraction{
public void doSomethingWithDate(int dia, int mes, int anio);
}
}
对于任何人将来参考可能需要这一点,可以通过选择一个TimePicker来实现这个时间选择器微调器然后在xml文件中键入android:timePickerMode="spinner"
。
小部件的XML代码应该是这样的:
<TimePicker
android:id="@+id/timePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:timePickerMode="spinner" />
我的答案是基于documentation。
- 1. 使用日期/时间选取器显示日期/时间Android
- 2. Android的组合日期,时间选取
- 3. 安卓时间和日期选取器
- 4. 添加日期时间选取器?
- 5. 日期时间选择器
- 6. 日期时间选择器
- 7. 日期/时间选择器++
- 8. Android的时间和一个(的iOS当量)日期选取器
- 9. Android日历查看日期选取器
- 10. 从黑莓的日期时间选择器获取日期和时间值
- 11. 日期时间选择器 - 设置开始日期和时间
- 12. jQuery的日期选取器的时间选择器插件
- 13. android的时间选取器
- 14. 日期选取器
- 15. Android的日期选取器每月数
- 16. 日期时间选择器jQuery中
- 17. 日期时间选择器在iPhone
- 18. Javascript日期和/或时间选择器
- 19. 日期时间选择器低于div
- 20. 时间和日期选择器(Javascript/PHP)
- 21. Angular2日期时间选择器建议
- 22. .net日期时间选择器
- 23. 与Eonasdan日期时间选择器
- 24. 任何时间日期选择器
- 25. ASP.NET日期和时间选择器?
- 26. 日期时间选择器控制
- 27. 日期和时间选择器问题
- 28. 日期和时间选择器
- 29. 日期时间选择器引导
- 30. Twitter Bootstrap Rails日期时间选择器
你可以检查时间选择器在Android这里有一些链接只是检查http://www.tutorialspoint.com/android/android_timepicker_control.htm http://www.mkyong.com/android/android-time-picker-示例/ http://androidexample.com/Time_Picker_With_AM_PM_Values_-_Android_Example/index.php?view=article_discription&aid=86&aaid=109 – Hanuman 2015-04-06 12:18:04
http://www.tutorialspoint.com/android/android_timepicker_control.htm显示我想要的时间选择器布局,但它似乎是默认的时间选择器,虽然我没有在预览中看到它(使用最新的api 22)。我认为它是一个带有上/下按钮的微调器。 – Amos 2015-04-06 12:29:37