Android TextView字体设置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/danfengw/article/details/50130913

字体资源
这里写图片描述
代码要点

Typeface mtypeface=Typeface.createFromAsset(getAssets(),"huawencaiyunv.TTF");
 mTextViewContent.setTypeface(mtypeface);

注意:
1、这里需要注意的是下载的字体是中文名字需要自己改成英文的,不然会报错。
2、在Eclipse中我们可以直接将字体资源放在assets下面,在Android Studio中则需要我们将其放在src/main/下面,这里记得修改为英文名。
这里写图片描述
3、通过这种方式改变字体,会占用应用内存,因此一般不推荐使用这种方式,通过下图可以看到,实际上TextView本身自带有几种字体。
这里写图片描述
代码比较简单,不解释
以后如果需要进行使用的话可以进行封装后再使用

public class Test extends AppCompatActivity{
    private Button mButtonTextChange;
    private TextView mTextViewContent;
    private StringBuilder mStrContent;
    private int typecount=0;
    Typeface mTypeface;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.textchange);
        mButtonTextChange= (Button) findViewById(R.id.button_change);
        mTextViewContent= (TextView) findViewById(R.id.textview);
        mStrContent=new StringBuilder();
        //两个tab键,用于段落开头
        mStrContent.append("        ").append("生命中有很多东西,能忘掉的叫过去,忘不掉的叫记忆。一个人的寂寞,有时候,很难隐藏得太久,时间太久了,人就会变得沉默,那时候,有些往日的情怀,就找不回来了。 或许,当一段不知疲倦的旅途结束,只有站在终点的人,才会感觉到累。其实我一直都明白,能一直和一人做伴,实属不易。"
                ).append("\n").append("        ").append("要有最朴素的梦想,即使明天天寒地冻,路远马亡。");
        mTextViewContent.setText(mStrContent.toString());

        mTypeface=Typeface.createFromAsset(getAssets(),"fangzhengzhunyuan.TTF");
        mTextViewContent.setTypeface(mTypeface);
        mButtonTextChange.setText("方正准圆");

        mButtonTextChange.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
           //根据按钮按下次数,循环显示几种字体。
               typecount++;
               switch (typecount){
                   case 0:
                       Typeface mtypeface=Typeface.createFromAsset(getAssets(),"huawencaiyunv.TTF");
                       mTextViewContent.setTypeface(mtypeface);

                       mButtonTextChange.setText("华文彩云");
                       break;
                   case 1:
                      Typeface mtypeface1=Typeface.createFromAsset(getAssets(),"huawenxingkai.ttf");
                       mTextViewContent.setTypeface(mtypeface1);
                       mButtonTextChange.setText("华文行楷");
                       break;
                   case 2:
                       Typeface mtypeface2=Typeface.createFromAsset(getAssets(),"huawenxinsong.ttf");
                       mTextViewContent.setTypeface(mtypeface2);
                       mButtonTextChange.setText("华文新宋");
                       break;
                   case 3:
                       Typeface mtypeface3=Typeface.createFromAsset(getAssets(),"fangzhengzhunyuan.TTF");
                       mTextViewContent.setTypeface(mtypeface3);

                       mButtonTextChange.setText("方正准圆");
                       typecount=0;
                       break;

               }

           }
       });

    }
}
阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页