2012-02-09 35 views
10

Tôi có PreferenceScreen có tiêu đề dài, đặc biệt là ở một số ngôn ngữ. Tôi có thể đặt nhiều dòng tiêu đề cho CheckBoxPreference hoặc ListPreference với điều này: Android preference summary . How to set 3 lines in summary?, nhưng làm thế nào để đặt tiêu đề 2 dòng cho PreferenceScreen? Tôi có thể thay đổi phong cách như ở đây: How can I change font size in PreferenceScreen nhưng điều này không hoàn hảo và không phù hợp với phong cách tùy chọn (phông chữ, kích thước ...).Ưu tiên AndroidMàn hình tiêu đề ở hai dòng

cảm ơn!

Trả lời

17

Theo mặc định, tiêu đề được đặt thành một dòng. Bạn cần mở rộng Tùy chọn và nhận tiêu đề văn bản và đặt một dòng thành false. Sử dụng lớp này thay cho PreferenceScreen thường xuyên:

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

người đàn ông, điều này thực sự sucks !!! Nó không dễ dàng hơn sao ?! và được thực hiện trong xml? Cảm ơn bạn đã trích đoạn nội dung. + 1.Android cần phải sửa lỗi này. –

+1

Tôi nhận được một ngoại lệ: 'TwoLinePreference không thể được truyền tới android.preference.GenericInflater $ Parent' –

+0

Hoạt động tốt! Tuy nhiên, trong thế giới Android mọi thứ có vẻ phức tạp: /. – honzakuzel1989

Các vấn đề liên quan