tôi muốn tắt tùy chọn chọn ngày trên bộ chọn ngày tháng sdk android. bất kỳ cấu hình xml dễ dàng nào sẽ là tốt nhấtCách hiển thị bộ chọn ngày cho android chỉ với các trường tháng và năm?
Trả lời
Tôi vừa phát hành khung công cụ chọn ngày mới cho phép bạn tạo bộ chọn ngày tùy chỉnh. Tôi cũng đã cung cấp một số bộ chọn ngày ví dụ như bộ chọn ngày bạn đang tìm kiếm. Hy vọng, nó làm việc cho bạn.
mã có thể được tìm thấy ở đây: https://github.com/bendemboski/DateSlider
CẬP NHẬT 06/2014: Thư viện này được xây dựng năm 2010 và đã bỏ dở từ năm 2011. Vì vậy, nó rất có thể đã cũ bây giờ.
EDIT: theo nhận xét bên dưới, tôi sẽ không làm theo câu trả lời này nữa.
Tôi không nghĩ bạn có thể làm điều đó với công cụ chọn ngày mặc định. Bạn sẽ phải tạo nó ra khỏi các yếu tố giao diện người dùng Android cơ bản. Nhưng thay vì đi đến rắc rối đó, tại sao không sử dụng một yếu tố thư viện tốt hơn như thế này tuyệt vời-tìm kiếm iPhone-esque bánh xe: http://code.google.com/p/android-wheel/ Tôi đã không được sử dụng nó được nêu ra, nhưng tôi có kế hoạch!
Đây không phải là lời khuyên xấu trong tháng 1 năm 2011, nhưng nếu bạn đang đọc bài viết này ngay bây giờ, tôi khuyên bạn không nên sử dụng thư viện bắt chước iOS. Google không thích điều đó: http://developer.android.com/design/patterns/pure-android.html – theelfismike
Người dùng cũng không thích điều đó – Roel
Có thể hack phiên bản DatePicker bằng cách sử dụng sự phản chiếu. Bằng cách này, bạn có thể truy cập cá thể NumberPicker đại diện cho ngày trong DatePicker:
datePicker = (DatePicker) findViewById(R.id.expiration_date);
try {
Field f[] = datePicker.getClass().getDeclaredFields();
for (Field field : f) {
if (field.getName().equals("mDayPicker")) {
field.setAccessible(true);
Object dayPicker = new Object();
dayPicker = field.get(datePicker);
((View) dayPicker).setVisibility(View.GONE);
}
}
} catch (SecurityException e) {
Log.d("ERROR", e.getMessage());
}
catch (IllegalArgumentException e) {
Log.d("ERROR", e.getMessage());
} catch (IllegalAccessException e) {
Log.d("ERROR", e.getMessage());
}
Điều này làm việc cho tôi. Lưu ý rằng tôi đã phải thay đổi mDayPicker thành mDaySpinner. Tôi không chắc chắn về mức API nào đã giới thiệu thay đổi này nhưng tôi đang xây dựng cho Android 4.0.3 ngay bây giờ. – Setzer22
Điều này có thể bị hỏng trong Android 5.0 và cao hơn vì DatePicker không sử dụng những bộ chọn số nữa! – Roel
Trên Android 6, các trường là mDelegate, LOG_TAG, MODE_CALENDAR, MODE_SPINNER. Giải pháp không hiệu quả với tôi. –
Điều này làm việc tốt trong phiên bản 2.2. Nhưng tiêu đề của hộp thoại không thay đổi.
for (Field datePickerDialogField : datePickerDialogFields) {
if (datePickerDialogField.getName().equals("mDatePicker")) {
datePickerDialogField.setAccessible(true);
DatePicker datePicker = (DatePicker) datePickerDialogField.get(datePickerDialog);
Field datePickerFields[] = datePickerDialogField.getType().getDeclaredFields();
for (Field datePickerField : datePickerFields) {
if ("mDayPicker".equals(datePickerField.getName())) {
datePickerField.setAccessible(true);
Object dayPicker = new Object();
dayPicker = datePickerField.get(datePicker);
((View) dayPicker).setVisibility(View.GONE);
}
}
}
}
Bạn có thể sử dụng các widget https://github.com/SimonVT/android-datepicker để tương thích backported và làm cho bảng chọn ngày 'biến mất'
<net.simonvt.numberpicker.NumberPicker
android:id="@+id/day"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dip"
android:layout_marginRight="16dip"
android:focusable="true"
android:focusableInTouchMode="true"
android:visibility="gone"
/>
Nói về phản ánh việc này trong Android 4.4.2 SDK
"mDaySpinner"
thay
"mDayPicker"
Tôi nghĩ đó là giải pháp tốt nhất
datePicker.findViewById(Resources.getSystem().getIdentifier("day", "id", "android")).setVisibility(View.GONE);
- 1. Tạo trường ngày chỉ có tháng và năm - Drupal
- 2. Bộ chọn ngày giờ JQuery - Chỉ cần chọn tháng và năm duy nhất
- 3. Thành phần lịch Primefaces chỉ hiển thị tháng và năm
- 4. Số ngày tháng trong năm jQuery hiển thị
- 5. Cách chọn ngày/tháng và năm từ jquery datepicker
- 6. Có thể chọn bộ chọn ngày để trình bày tên năm/tháng/ngày + ngày không?
- 7. Cách định dạng ngày Android không có năm và hiển thị tháng và ngày theo cài đặt địa phương?
- 8. Cách hiển thị lựa chọn tháng và năm cho thẻ tín dụng
- 9. Tôi làm cách nào để nhóm theo tháng và năm khi chỉ có trường ngày giờ?
- 10. Django - Cần các trường ngày giờ có thể chỉ xử lý các giá trị năm, hoặc năm và tháng
- 11. Android DatePicker tên hiển thị theo tháng
- 12. LINQ: Nhóm theo tháng và năm trong trường ngày giờ
- 13. Jquery datepicker - chỉ ngày và tháng
- 14. Symfony 2 ngày đầu vào chỉ với năm chọn
- 15. bộ chọn ngày tháng jquery nhưng ngày tháng và năm trong danh sách thả xuống riêng lẻ
- 16. Định dạng hiển thị ngày tháng Datatables.net
- 17. Django: Nhóm theo ngày (ngày, tháng, năm)
- 18. Đặt hàng theo ngày giảm dần - tháng, ngày và năm
- 19. jquery ui datepicker ngày/tháng chỉ, không phải năm lựa chọn
- 20. Bộ chọn ngày của iPhone sẽ chuyển sang năm 2010 vào ngày 27 tháng 12?
- 21. Định dạng ngày giờ cho tháng và năm
- 22. Android: Samsung Galaxy Tabs và Android 2.2 Devices Hiển thị ngày GPS 1 ngày Advance từ ngày 1 tháng 1 năm 2012
- 23. Làm cách nào để nhận được số ngày trong tháng cho tháng và năm cụ thể?
- 24. Định dạng ngày trong ngày, ngày tháng, năm
- 25. ngày tháng trước năm 1970
- 26. mysql datatype để lưu trữ tháng và năm chỉ
- 27. Làm thế nào để biến các cột năm, tháng và ngày riêng biệt thành một ngày?
- 28. Chỉ hiển thị ngày và không có thời gian trong Android
- 29. Tạo ngày giờ trong Rails bằng tháng, ngày và năm
- 30. Tạo thời gian ngày chỉ theo tháng và theo ngày, không năm
Bạn đã thử mọi thứ chưa? Bạn đã tìm kiếm giải pháp bằng công cụ tìm kiếm chưa? – Patrick
tôi đã làm trong thực tế và tìm thấy những người nói rằng nó không thể, đó là không đúng nhưng tôi không có một ý tưởng rõ ràng về làm thế nào để đi về phía trước với điều này nhưng nó có thể. thanks – carbonr