PreferenceCategory - 换行符或椭圆化

时间:2011-02-21 11:14:03

标签: android android-preferences

在我的PreferenceCategory中,当文本变得太长时,textview不会更改其高度。它只是打破线条,看起来很奇怪,因为尺寸没有改变......我也试过椭圆机,但没有成功...... 有没有办法让preferencecategory-view改变它的大小,或者不改变它的内容?

1 个答案:

答案 0 :(得分:3)

我自己发现了如何让这个TextView对其内容进行椭圆化处理。 这是我的解决方案:

创建自定义PreferenceCategory并覆盖onBindView(View view)view - 对象包含您可以进入ellipsize的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-preference布局中引用它:

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

全部: - )