7

Văn bản mặc định trong datepicker quá lớn đối với ứng dụng của tôi. Tôi đã nhìn thấy một cách được đề xuất để thay đổi nó here, nhưng câu cá xung quanh cho các bản xem trước văn bản lồng nhau bên trong lớp datepicker có vẻ clunky và dễ bị lỗi.Làm thế nào để thay đổi văn bản trong datepicker?

Có cách nào tốt hơn/sạch hơn để làm điều đó không?

Trả lời

1

sử dụng mã dưới đây

DatePicker picker = (DatePicker)findViewById(R.id.dp_date); 
    ViewGroup childpicker 

    = (ViewGroup) 
    findViewById(Resources.getSystem().getIdentifier("month" /*rest is: 
    day, year*/, "id", "android")); 

    EditText textview = (EditText) 
    picker.findViewById(Resources.getSystem().getIdentifier("timepicker_input", 
    "id", "android")); 
    textview.setTextSize(30); 
    textview.setTextColor(Color.GREEN); 
1

sử dụng mã dưới đây:

ViewGroup childpicker = (ViewGroup)datePicker.findViewById(Resources.getSystem().getIdentifier("month", "id", "android")); 

EditText mornthEt = (EditText)childpicker.getChildAt(1);// month widget 

//change textsize and textcolor for mornthEt 

mornthEt.setTextSize(30); 

mornthEt.setTextColor(Color.GREEN); 
+1

cho android 4.1 +, 1- "getChildAt (0)" làm việc cho tôi không phải là "getChildAt (1)", 2- kích thước văn bản thay đổi trở lại khi bạn quay lên hoặc xuống, điều này không phải là hữu ích ở tất cả –

+1

Tôi mạnh mẽ khuyên bạn không nên sử dụng giải pháp này. 'getChildAt (1)' vì nó có thể gạch khi thứ tự của các khung nhìn thay đổi bên trong thư viện. có thể làm việc trên một phiên bản và bị hỏng với các triển khai khác nhau –

3

Cách dễ nhất để thay đổi kích thước font chữ của datepicker/timepicker/numberpicker được tùy biến theme.

Trong tệp kiểu, đặt kích thước phông chữ mặc định theo cách sau.

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="android:textSize">22sp</item> 
</style> 
+0

hoạt động hoàn toàn tốt đẹp! Cảm ơn các giải pháp nhanh chóng. –

0

Tôi đã sử dụng sau CustomDateAndTimePicker. Điều này rất dễ tùy chỉnh. Trong các tùy chọn khác nhau như ngày, tháng, năm, giờ và phút có bộ chọn Số riêng. Vì vậy, bạn có thể tùy chỉnh kích thước văn bản, màu sắc và các phong cách khác. bạn có thể thêm công cụ chọn số của riêng mình cho việc sử dụng tùy chỉnh

0

Mã của Sean hoạt động. nhưng nó đang thay đổi kích thước phông chữ cho tất cả các thành phần khác cũng (textViews, nút, vv ...) Vì vậy, đây là giải pháp.

Tạo kiểu khác cho bộ chọn thời gian và sử dụng nó trên chủ đề bộ chọn thời gian.

<style name="my_time_picker_style"> 
    <item name="android:textSize">24sp</item> 
</style> 

và sử dụng nó trên timepicker bạn

android:theme="@style/my_time_picker_style" 

Nhìn vào video, làm thế nào tôi đã làm https://youtu.be/JMJ2ujhk9c0

1

cách tiếp cận của Sean thực hiện một số trục trặc trong giao diện người dùng của chính nó chọn trong trường hợp đang có một số của bộ chọn và tôi nghĩ rằng nó không hoàn hảo để áp dụng kích thước văn bản cho tất cả các thành phần bên dưới bộ chọn. Dưới đây là những gì tôi đã sử dụng và nó hoạt động hoàn hảo mà không có bất kỳ giao diện người dùng ổn định.

<style name="PickerTheme" parent="Theme.AppCompat.NoActionBar"> 
    <item name="android:editTextStyle">@style/PickerEditText</item> 
</style> 

<style name="PickerEditText" parent="ThemeOverlay.AppCompat.Dark"> 
    <item name="android:textSize">24sp</item> 
</style> 
Các vấn đề liên quan