2013-09-27 96 views
0

我想要將列表視圖項目的字體更改爲marathi,我使用字體更改TextField的字體,任何人都可以告訴我如何使用列表視圖項目執行此操作。如何更改列表查看項目字體樣式到MARATHI

+0

這已經被回答了很多次...:http://stackoverflow.com/questions/12128331/how-to-change-fontfamily-of -textview-in-android http://stackoverflow.com/questions/2973270/using-a-custom-typeface-in-android http://stackoverflow.com/questions/3651086/android-using-custom-font http: //stackoverflow.com/questions/16901930/memory-leaks-with-custom-font-for-set-custom-font等等...... – Cehm

回答

2

創建自定義的TextView類這樣

public class CustomTextView extends TextView { 

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

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

    public CustomTextView(Context context) { 
     super(context); 
     init(); 
    } 

    @SuppressWarnings("null") 
    private void init() { 
     if (!isInEditMode()) { 


      // default style 
      Typeface tf = Typeface.createFromAsset(getContext().getAssets(), 
        "helveticaneue_bold.ttf"); 


      setTypeface(tf); 
     } 
    } 

將您的字體樣式(Marathi.ttf文件,在這種情況下,我已經使用helveticaneue_bold.ttf)資產的文件夾。

你行,你已經膨脹到ListView控件在

現在,而不是TextView的使用下面

<yourpackagename.CustomTextView 
      android:id="@+id/tv_title" 
      style="@style/buttontext" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/company_profile" > 
     </yourpackagename.CustomTextView> 
+0

警告,該方法知道有內存泄漏。您可能只想爲每個應用程序加載一次,然後重新使用您剛加載的那個,而不是重新加載它。考慮使用'Application.java'來加載字體,然後將其存儲在內存中(hashmap或任何你想要的),並使用單個方法調用來重用它。 – Cehm

+0

plase接受答案,如果它解決了你的目的。 –

+0

先生我創建了這個類文件,但是在哪個文件中我認爲要寫xml代碼 – SHRIRANG

0

您必須實現CustomAdapter或BaseAdapter來實現這一目標。在getview方法膨脹其他xml文件,其中包含文本視圖和settypeface它