2012-01-12 4 views
6

Tôi đã tải xuống phông chữ tùy chỉnh để sử dụng trên ứng dụng của mình. Tôi muốn đặt kiểu đậm cho phông chữ đó. Tôi đã sử dụng đoạn mã sau nhưng nó không làm việc:Cách đặt phông chữ tùy chỉnh theo kiểu in đậm

Typeface tf = Typeface.createFromAsset(getAssets(), 
"fonts/BRADHITC.otf"); 
Typeface bold = Typeface.create(tf, Typeface.DEFAULT_BOLD);  
TextView tv = (TextView) findViewById(R.id.cou_text); 
tv.setTypeface(tf); 

Trả lời

3

Hãy thử

tv.setTypeface(null, Typeface.BOLD); 
+0

cảm ơn, hoạt động của nó ngay bây giờ .. – Dhanesh

+0

OK nếu nó đang hoạt động chấp nhận câu trả lời – Vamshi

+0

một điều nữa, có thể sử dụng trong bố cục xml không? nếu có thì làm thế nào? – Dhanesh

8

DEFAULT_BOLD này có kiểu kiểu chữ. Typeface.create() yêu cầu int.

Dưới đây là đúng một

Typeface bold = Typeface.create(tf, Typeface.BOLD); 
+0

Tôi đã thử điều này, Không hoạt động – HemangNirmal

+1

Điều này hoạt động hoàn hảo. Phải là câu trả lời được chấp nhận. – technophyle

0

Cả những câu trả lời làm việc cho tôi.

Có thể họ làm việc cho người khác, nhưng cách tôi có phiên bản đậm của một phông chữ làm việc trong chương trình của tôi, tôi đã làm như sau:

  1. Copy/dán .ttc phông chữ - trong trường hợp này AmericanTypewriter .ttc - vào một thư mục mà tôi đã tạo trong thư mục/tài sản/thư mục chính của tôi được gọi là/fonts. Vì vậy, chính/tài sản/fonts/AmericanTypewriter.ttc

  2. Tôi chắc chắn tôi đã có một TextView với id trong xml của tôi:

    <TextView 
        android:id="@+id/myTextView" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="This is American Bold"/> 
    
  3. Ở phía trên của Hoạt động của tôi, đã tuyên bố một TextView đối tượng:

    private TextView myTextView; 
    
  4. Trong onCreate Hoạt động tương tự của(), chèn đoạn mã sau:

    Typeface americanFont = Typeface.createFromAsset(getAssets(), 
         "fonts/AmericanTypewriter.ttc"); 
        Typeface americanFontBold = Typeface.create(americanFont, Typeface.BOLD); 
        myTextView = (TextView) findViewById(R.id.myTextView); 
        myTextView.setTypeface(americanFontBold); 
    
1

Cuối câu trả lời nhưng có lẽ hữu ích:

textView.setTypeface(Typeface.createFromAsset(getContext().getAssets(), "fonts/BRADHITC.otf"), Typeface.BOLD); 

Bằng cách này tôi đã thay đổi sự xuất hiện của TextView SlidingTabLayout.