2012-02-09 13 views
10

Tengo PreferenceScreen con título largo especialmente en algunos idiomas. Puedo establecer el título de varias líneas para CheckBoxPreference o ListPreference con esto: Android preference summary . How to set 3 lines in summary?, pero ¿cómo establecer el título de 2 líneas para PreferenceScreen? Puedo cambiar el estilo como aquí: How can I change font size in PreferenceScreen pero esto no se ve perfecto y es inconsistente con el estilo de preferencia (fuente, tamaño ...).Título de PreferenceScreen de Android en dos líneas

gracias!

Respuesta

17

De forma predeterminada, el título se establece en una sola línea. Necesita extender la preferencia y obtener la vista textual del título y establecer una sola línea en falso. Utilice esta clase en lugar de la pantalla PREFERENCE normal:

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

hombre, este realmente apesta !!! ¿No podría ser más fácil? y hecho en xml? Gracias por el fragmento. + 1.Android necesita arreglar esto, sin embargo. –

+1

Recibo una excepción: 'TwoLinePreference no se puede convertir a android.preference.GenericInflater $ Parent' –

+0

¡Funciona bien! Sin embargo, en el mundo Android todo parece ser complicado: /. – honzakuzel1989

Cuestiones relacionadas