0

我在资产文件夹 /assets/fonts/7led.ttf 中设置了自定义字体,并为文本视图初始化了字体。

// LED font used in Dimmer display
Typeface tf = Typeface.createFromAsset(this.getAssets(), "fonts/7led.ttf");  
TextView tv  = (TextView) findViewById(R.id.DimmerView);    
tv.setTypeface(tf); 

Int 我将文本设置为默认“100”的 xml 文件

          <TextView
    android:id="@+id/DimmerView"
    android:layout_width="169dp"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:layout_marginLeft="700dp"
    android:background="@color/text_color"
    android:text="100"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="@color/background_color"
    android:textSize="100dp" />

字体显示正确,但是当我尝试更改文本时它崩溃了。

    TextView.setText("101");

我已阅读该主题的许多答案,但仍无法解决崩溃问题。我看到的众多错误之一是退出时出现未捕获的异常。

logcat 09-09 14:05:47.851: W/dalvikvm(3729): threadid=1: 线程以未捕获的异常退出 (group=0x414422a0)

我已经解决了崩溃。

Typeface tf = Typeface.createFromAsset(this.getAssets(), "fonts/digital_counter_7.ttf");  
final TextView tv  = (TextView) findViewById(R.id.DimmerView);      // for display the received data from the Arduino

tv.setText("101"); 
tv.setTypeface(tf); 

这一行可以改变文字

                tv.setText("102");
4

2 回答 2

0

我认为您在调用文件夹时犯了一个小错误:

如果您已将 .ttf 文件放在 /assets/folder/7led.ttf 上,则需要调用

Typeface tf = Typeface.createFromAsset(this.getAssets(), "folder/7led.ttf"); 

并不是

Typeface tf = Typeface.createFromAsset(this.getAssets(), "fonts/7led.ttf"); 
于 2013-09-09T18:09:37.110 回答
0

我的错误只是一个错字,“tff”而不是“ttf”。也检查一下,以防万一让自己头疼。

于 2014-12-02T00:37:57.723 回答