CheckBoxPreference не является производным от View, поэтому обычные атрибуты представления не применяются.
Вместо этого CheckBoxPreference привязывается к представлению, которое имеет предопределенный макет.
Вы можете получить класс из CheckBoxPreference и переопределить onBindView. В вашем классе onBindView найдите представление CheckBox и настройте его атрибуты представления по своему вкусу.
class MyCBPref extends CheckBoxPreference{
public MyCBPref( Context context, AttributeSet attrs){
super(context, attrs);
}
protected void onBindView( View view){
super.onBindView(view);
makeMultiline(view);
}
protected void makeMultiline( View view)
{
if ( view instanceof ViewGroup){
ViewGroup grp=(ViewGroup)view;
for ( int index = 0; index < grp.getChildCount(); index++)
{
makeMultiline(grp.getChildAt(index));
}
} else if (view instanceof TextView){
TextView t = (TextView)view;
t.setSingleLine(false);
t.setEllipsize(null);
}
}
}
Затем в вашем макете вместо вашего CheckBoxPreference укажите ваш класс:
<com.mycorp.packagename.MyCBPref android:title="..." ... />