2012-02-09 18 views
10

Özellikle bazı dillerde uzun başlıklı PreferenceScreen kullanıyorum. CheckBoxPreference veya ListPreference için birden fazla satır başlığı ayarlayabilirim: Android preference summary . How to set 3 lines in summary?, ancak PreferenceScreen için 2 satırlık başlık nasıl ayarlanır? Buradaki stili değiştirebilirim: How can I change font size in PreferenceScreen ama bu mükemmel görünmüyor ve tercih tarzıyla tutarlı değil (yazı tipi, boyut ...).Android Tercihler İki satırlık ekran görünümü

Teşekkürler!

cevap

17

Varsayılan olarak başlık tek satır olarak ayarlanmıştır. Tercihi genişletmeli ve başlık metni görünümünü almalı ve tek satırı yanlış olarak ayarlamanız gerekir. bunları normal PreferenceScreen ait bunu kullanın sınıfı: Eğer eski cihazlar için support library version kullanmak gerekir böylece

public class TwoLinePreference extends Preference { 

    public TwoLinePreference(Context ctx, AttributeSet attrs, int defStyle) { 
    super(ctx, attrs, defStyle); 
    } 

    public TwoLinePreference(Context ctx, AttributeSet attrs) { 
    super(ctx, attrs); 
    } 

    public TwoLinePreference(Context ctx) { 
    super(ctx); 
    } 

@Override 
protected void onBindView(View view) { 
    super.onBindView(view); 

    TextView textView = (TextView) view.findViewById(android.R.id.title); 
    if (textView != null) { 
     textView.setSingleLine(false); 
     } 
    } 
} 
+0

adam, bu gerçekten berbat! Daha kolay olamaz mı ?! ve xml'de mi yapıldı? Snippet için teşekkürler. + 1.Android'in bunu düzeltmesi gerekiyor. –

+1

Bir istisna alıyorum: 'TwoLinePreference android.preference.GenericInflater $ Parent' için kullanılamaz –

+0

İyi çalışıyor! Yine de, Android dünyasında her şey karmaşık görünüyor: /. – honzakuzel1989