7

Datepicker'daki varsayılan metin boyutu, uygulamam için çok büyük. here'u değiştirmeyi öneren bir yöntem gördüm, ancak datepicker sınıfının içine yerleştirilmiş metin görünümleri için etrafta gezinmek, rahatsız edici ve hataya eğilimli görünüyor.Tarih seçicide metin boyutunu nasıl değiştirebilirim?

Bunu yapmanın daha iyi/daha temiz bir yolu var mı?

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); 

cevap

1

kullanım:

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

kullanım kodunun altında kodunun altına

+1

, 1- "getChildAt (0)" benim için çalıştı değil aşağı yukarı dönmeye veya "getChildAt (1)", 2- metin boyutu geri değiştirir, bunların hepsi –

+1

değil yararlıdır Bu çözümü kullanmamanızı şiddetle tavsiye ederim. "getChildAt (1)", görünümlerin sırasının kitaplık içinde değişmesiyle oluşturulabilir. Bir sürümü üzerinde çalışabilir ve farklı uygulamalar ile kırılmış olabilir –

3

datepicker/timepicker/numberpicker yazı tipi boyutunu değiştirmek için en kolay yolu temasını özelleştirme edilir.

Stiller dosyasında, varsayılan yazı tipi boyutunu aşağıdaki şekilde ayarlayın.

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

mükemmel çalışıyor! Hızlı çözüm için teşekkürler. –

0

Aşağıdaki CustomDateAndTimePicker kullandım. Bu özelleştirmek çok kolaydır. Tarih, ay, yıl, saat ve dakika gibi farklı seçeneklerde kendi Numara seçiciye sahipler. Böylece metin boyutunu, rengini ve diğer stilleri de özelleştirebilirsiniz. Özel kullanımınız için kendi numara seçicinizi ekleyebilirsiniz

0

Sean'ın kodu çalışır. ama diğer tüm bileşenler için yazı tipi boyutunu da değiştiriyor (textViews, buttons, vb ...) İşte çözüm budur.

Zaman seçici için farklı stil oluşturma ve zaman seçici tema üzerinde kullanın.

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

ve timepicker ben nasıl yaptığını videonun en

android:theme="@style/my_time_picker_style" 

Bak kullanmak https://youtu.be/JMJ2ujhk9c0

1

bir numara durumunda seçici kendisinin arayüzünde bazı aksaklıklar da oradayız yapılan Sean'ın yaklaşımı Toplayıcıların ve sanırım altından tüm bileşenlere metin boyutu uygulamak mükemmel değil. Aşağıda kullandığım şey ve herhangi bir UI hatası olmadan mükemmel çalışıyor. android 4.1 + için

<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> 
İlgili konular