android中的自定义字体(适用于整个应用程序)

时间:2013-04-13 18:45:18

标签: android performance fonts

我有这个Android代码,有许多类,每个类都有不同的视图。我们可以根据所选字体进行设置并更改字体。现在只有预先安装的Android字体可用。有没有办法稍微调整我的代码,以便我可以添加.ttf文件,并将其作为字体中的选项提供。 我不想在代码中进行大的更改。

2 个答案:

答案 0 :(得分:3)

您可以使用字体为textview中的文本设置自定义字体。因此,无论何时您需要为textview定制字体,都可以使用以下内容。

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
    >

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button" />
<TextView android:id="@+id/text"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:textColor="#FFF"
          />
 </LinearLayout>

代码:

public class MainActivity extends Activity {

private TextView text;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    text = (TextView) findViewById(R.id.text);
    Button b= (Button) findViewById(R.id.button1);
    b.setOnClickListener( new OnClickListener()
    {

        @Override
        public void onClick(View v) {
            text.setText("This is a custom toast");
            Typeface typeFace =  Typeface.createFromAsset(getAssets(),"fonts/kn.ttf");
            text.setTypeface(typeFace);

        }

    });

}
}

enter image description here

答案 1 :(得分:1)

不,您不能,除非您将自己的视图与自定义字体一起使用。