如何向android活动添加新字体

时间:2014-01-29 05:18:46

标签: android textview android-fonts

我开发了一个Android应用程序,现在我正在尝试添加(Kulturista Bold。ttf)这个自定义字体但它不起作用这是我的login.xml文件和login.java文件

<TextView
                android:id="@+id/maintitle"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="CREATE AN ACCOUNT?"
                android:textColor="@color/blue"
                android:textSize="25dp"
                android:layout_gravity="center"
                   android:layout_marginTop="70dp"
                android:gravity="center"/>
        <TextView
            android:id="@+id/subtitle"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="CLICK ON THE SIGHNUP AND REGISTER"
            android:textColor="#c4cbcf"
            android:layout_gravity="center"
            android:gravity="center"
             />

这是活动代码

    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login);
        TextView txt1 = (TextView) findViewById(R.id.maintitle);  
        Typeface font1 = Typeface.createFromAsset(getAssets(), "Kulturista_Bold. ttf");  
        txt1.setTypeface(font1);  
        TextView txt2 = (TextView) findViewById(R.id.subtitle);  
        Typeface font2 = Typeface.createFromAsset(getAssets(), "Kulturista_Bold. ttf");  
        txt2.setTypeface(font2);
    }

}

4 个答案:

答案 0 :(得分:1)

如果您只能从资源文件夹访问,那么在您的代码中只需从 中删除空格。 TTF

所以改变它

Typeface font1 = Typeface.createFromAsset(getAssets(), "Kulturista_Bold.ttf");

如果您在assets文件夹中创建了名为fonts的文件夹,那么您必须通过它来访问它。

Typeface font1 = Typeface.createFromAsset(getAssets(), "fonts/Kulturista_Bold.ttf");

答案 1 :(得分:0)

从“.ttf”中删除空格

//Space between dot(.) and ttf Kulturista_Bold. ttf
Typeface font1 = Typeface.createFromAsset(getAssets(), "Kulturista_Bold. ttf"); 

通过删除空格来尝试此操作。

Typeface font1 = Typeface.createFromAsset(getAssets(), "Kulturista_Bold.ttf"); 

答案 2 :(得分:0)

尝试在getContext之前添加activityNamegetAssets

Typeface font = Typeface.createFromAsset(getContext(),"fonts/androidnation.ttf");

Typeface font = Typeface.createFromAsset(activityname.this.getAssets(), "fonts/androidnation.ttf");

txt1.setTypeface(font);

答案 3 :(得分:-1)

试试这个

Typeface typeFace = Typeface.createFromAsset(getAssets(), "Kulturista_Bold.ttf");
txt2.setTypeface(typeFace);