2012-02-09 4 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

기본적으로 제목은 한 줄로 설정됩니다. Preference를 확장하고 title textview를 가져와 한 줄을 false로 설정해야합니다. 대신 일반 PreferenceScreen의 사용이 클래스 : 나이가 장치에 대한 support library version을 사용할 수 있어야하므로

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는이 문제를 해결해야합니다. –

+1

예외 : 'TwoLinePreference를 android.preference.GenericInflater $ Parent'로 캐스트 할 수 없습니다. –

+0

잘 작동합니다! 그럼에도 불구하고 안드로이드 세계에서 모든 것이 복잡해 보입니다. – honzakuzel1989

관련 문제