2012-02-09 77 views
10

我的PreferenceScreen具有長標題,特別是在某些語言中。我可以使用以下設置爲CheckBoxPreference或ListPreference設置多行標題: Android preference summary . How to set 3 lines in summary?,但是如何爲PreferenceScreen設置2行標題?我可以像這樣改變風格:How can I change font size in PreferenceScreen但這看起來不太完美,並且與偏好風格(字體,大小...)不一致。兩行Android PreferenceScreen標題

謝謝!

回答

17

默認情況下,標題設置爲單行。 您需要擴展首選項並獲得標題textview並將單行設置爲false。 使用這個類,而不是常規PreferenceScreen:

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

男人,這真的很爛!難道不是更容易?!並在xml中完成?感謝您的摘錄。 + 1.Android需要解決這個問題。 – 2015-09-30 18:24:52

+1

我收到一個異常:'TwoLinePreference不能轉換爲android.preference.GenericInflater $ Parent' – 2015-09-30 18:30:48

+0

工作的很好!不過,在Android世界中,一切似乎都很複雜:/。 – honzakuzel1989 2017-03-12 11:21:31

相關問題