2012-04-16 7 views
5

Tôi biết cách đặt phông chữ tùy chỉnh thành TextView. Nhưng làm thế nào để thêm font tùy chỉnh thông qua theme/style/xml ??Android: Cách thêm phông chữ tùy chỉnh vào chủ đề/kiểu/xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="customfontforlistview" parent="@android:style/Widget.ListView"> 
     <item name="android:textColor">#000000</item> 
     <item name="android:typeface">HOW_TO_CUSTOM_FONT</item> 
    </style> 
</resources> 

Vui lòng cung cấp giải pháp cho việc này.

Trả lời

3

Theo như tôi biết không có cách nào tốt để thực hiện việc này. Giải pháp thay thế tốt nhất mà tôi biết là để tạo ra một lớp con đơn giản mà trông giống như sau:

public class CustomTextViewNormal extends TextView 
{ 
    public CustomTextViewNormal(Context context) 
    { 
     super(context); 
     init(); 
    } 

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

    public CustomTextViewNormal(Context context, AttributeSet attrs, int defStyle) 
    { 
     super(context, attrs, defStyle); 
     init(); 
    } 

    public void init() 
    { 
     Typeface tf = Typeface.createFromAsset(getContext().getAssets(), 
       "fonts/HelveticaNeue.ttf"); 
     setTypeface(tf); 
    } 
} 

Nếu bạn thực hiện điều này, bạn chỉ có thể sử dụng này xem văn bản tùy chỉnh trong bố trí xml và về cơ bản bạn có các chức năng tương tự như một phong cách mặc dù, thừa nhận, một chút sloppier.

+0

đây không phải là một lưu ý! câu trả lời đúng. ít nhất một cách để làm điều đó – longilong

+0

android: textStyle = "bold" không hoạt động trên chế độ xem văn bản được thừa hưởng này :( –