2013-11-14 48 views
0

您好我在Android的更新,我想問問如何使用一種字體爲許多文本的意見,我有使用此方法使用了很多文本

final String DosisPath = "fonts/Dosis-Bold.ttf"; 
    final Typeface Dosis_Bold = Typeface.createFromAsset(getAssets(), DosisPath); 
    TextView txtCancle = (TextView) findViewById(R.id.cancle); 
    txtCancle.setTypeface(Dosis_Bold); 

,它的工作不錯,但我儘量外部字體讓另外的TextView同樣字樣但這麼想的工作像這樣

final String DosisPath = "fonts/Dosis-Bold.ttf"; 
    final Typeface Dosis_Bold = Typeface.createFromAsset(getAssets(), DosisPath); 
    TextView txtCancle = (TextView) findViewById(R.id.cancle); 
    txtCancle.setTypeface(Dosis_Bold); 
    EditText ETCode = (EditText)findViewById(R.id.secET); 
    ETCode.setTypeface(Dosis_Bold); 

如果是一個錯誤我已經做了告訴我,如果有另一種方式使該告訴我,太感謝了很多。

回答

1

這是你應該怎麼做的。

創建一個類

public class TextViewContent extends TextView { 

    public TextViewContent(Context context) { 
     super(context); 
     setCustomFont(context); 
    } 

    public TextViewContent(Context context, AttributeSet attrs) { 
     super(context, attrs); 
     setCustomFont(context); 
    } 

    public TextViewContent(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 

     if (isInEditMode()) { 
      return; 
     } 
     setCustomFont(context); 

    } 

    private void setCustomFont(Context ctx) { 
     setTypeface(Typeface.createFromAsset(ctx.getAssets(), 
       "Champagne_Limousines.ttf")); 
    } 
} 

,並在佈局文件

<com.hardik.test.widget.TextViewContent 
      style="@style/TextMedium" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="5dip" 
      android:layout_marginTop="5dip" 
      android:gravity="center" 
      android:text="@string/tag_line" /> 

這將在所選字體顯示的TextView。對於EditText,您可以使用相同的方式來擴展EditText類,其餘部分相同。