2012-01-19 40 views

Trả lời

18

Vâng tại sao không, bạn có thể nhận được các phông chữ Roboto:

Android ICS typography

phép nói rằng bạn muốn thay đổi font chữ của một cái nhìn văn bản:

Typeface tf = Typeface.createFromAsset(getAssets(), 
      "fonts/Roboto-Black.ttf"); 
    TextView tv = (TextView) findViewById(R.id.FontTextView); 
    tv.setTypeface(tf); 
+6

Có cách nào để thiết lập thuộc tính kiểu chữ này trong chính XML không? Hay đơn giản hơn, trong chính AndroidManifest.xml, để sử dụng trên toàn bộ ứng dụng? – Rahim

+1

Tôi cũng không tìm thấy cách nào để thực hiện việc này, vì vậy tôi đã kết thúc với http://stackoverflow.com/questions/9797872/use-roboto-font-for-earlier-devices/10563831#10563831 – Arnaud

-2

Bạn có thể áp dụng các kiểu cụ thể trong Android cho phép bạn thay đổi phông chữ, v.v. Kiểm tra liên kết này đến trang web dành cho nhà phát triển Android. Styles and Themes

+0

Tại sao điều này lại bị bỏ phiếu? – tier1

1

Hãy thử liên kết này http://www.barebonescoder.com/2010/05/android-development-using-custom-fonts/

Thiết lập thuộc tính kiểu chữ của điều khiển bạn đang nhắm mục tiêu đến serif ... và cho các tập tin phông chữ tôi khuyên bạn nên sử dụng TTF, nó đã làm việc cho tôi trong quá khứ

Cũng thử những liên kết này

http://techdroid.kbeanie.com/2011/04/using-custom-fonts-on-android.html

Android - Using Custom Font

1

Để đặt phông chữ trong XML là nỗ lực vừa phải hơn nhưng có lợi thế là có thể xem trước phông chữ bên trong tab bố cục đồ họa của ADT của trình soạn thảo bố cục XML. Một lần nữa, trước tiên hãy bao gồm tệp .ttf phông chữ tùy chỉnh của bạn trong thư mục nội dung của ứng dụng.

Tạo một lớp tùy chỉnh TextView:

public class TypefacedTextView extends TextView 
{ 
public TypefacedTextView(Context context, AttributeSet attrs) 
{ 
    super(context, attrs); 

    // Typeface.createFromAsset doesn't work in the layout editor. Skipping ... 
    if (isInEditMode()) 
    { 
    return; 
    } 

    TypedArray styledAttrs = context.obtainStyledAttributes(attrs, R.styleable.TypefacedTextView); 
    String fontName = styledAttrs.getString(R.styleable.TypefacedTextView_typeface); 
    styledAttrs.recycle(); 

    if (fontName != null) 
    { 
    Typeface typeface = Typeface.createFromAsset(context.getAssets(), fontName); 
    setTypeface(typeface); 
    } 
    } 
    } 

Bây giờ bao gồm TypefacedTextView tùy chỉnh này trong Layouts XML của bạn chỉ cần thêm thuộc tính namespace XML của bạn dưới đây Android namespace XML thuộc tính:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:your_namespace="http://schemas.android.com/apk/res/com.example.app" 
... /> 

Và sử dụng của bạn TypefacedTextView giống như một TextView bình thường trong XML nhưng với thẻ tùy chỉnh của riêng bạn, hãy nhớ đặt phông chữ của bạn:

<com.example.app.TypefacedTextView 
    android:id="@+id/list_item_entry_title" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center_vertical" 
    android:minHeight="48dp" 
    android:textColor="#FF787878" 
    your_namespace:typeface="Roboto-Regular.ttf" /> 

Xem bài đăng trên blog của tôi để biết thêm thông tin: http://polwarthlimited.com/2013/05/android-typefaces-including-a-custom-font/

+0

404 này trên liên kết trong câu trả lời – harmanjd

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