PreferenceCategory - разрывы строк или многоточие - PullRequest
0 голосов
/ 21 февраля 2011

В моей PreferenceCategory текстовое представление не меняет свою высоту, когда текст становится слишком длинным. Это просто ломает линию и выглядит странно, так как размер не изменился ... Я также попытался эллиптировать, но безуспешно ... есть ли способ получить представление предпочтения категории, чтобы изменить его размер, или если нет, чтобы увеличить его содержание?

1 Ответ

3 голосов
/ 22 февраля 2011

Я только что сам узнал, как заставить этот TextView разогнать его содержимое. Вот мое решение:

Создайте пользовательскую категорию PreferenceCategory и переопределите onBindView(View view), view -объекты содержат ваш TextView, который вы можете получить, чтобы затем увеличить размер ...

public class CustomPreferenceCategory extends PreferenceCategory {

public CustomPreferenceCategory(Context context, AttributeSet attrs) {
    super(context, attrs);
}

@Override
protected void onBindView(View view) {
    super.onBindView(view);
    if(view instanceof TextView){
        TextView tv = (TextView)view;
        tv.setEllipsize(TruncateAt.END);
        tv.setLines(1);
        tv.setSingleLine();
    }
}

}

и ссылаться на него в макете xml-настроек следующим образом:

<com.package.name.CustomPreferenceCategory android:key="KEY_ABC" />

вот и все: -)

...