Android中是可以设置字体的。,甚至可以用特殊字体来代替icon
设置字体
步骤
1、 assets下放入字体文件(后缀为.ttf的文件)
2、为textview设置该字体,代码如下:
Typeface iconfont = Typeface.createFromAsset(getAssets(), "iconfont.ttf");
TextView textview = (TextView)findViewById(R.id.tv);
textview.setTypeface(iconfont);
效果如下:
iconfont字体应用的使用
实现
iconfont是阿里巴巴的一个矢量图库,我们可以在上面查找并使用一些icon。对应icon的使用方式,出来常用的按图片出来外,它还支持按字体来处理。
先阅读:Android使用Iconfont应用
具体实现如下:
activity_main.xml代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:textSize="50dp"
android:textColor="#ff0000"
android:layout_height="wrap_content"
android:text="@string/icons" />
</RelativeLayout>
MainActivity.java代码:
package com.example.testfront;
import android.app.Activity;
import android.graphics.Typeface;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Typeface iconfont = Typeface.createFromAsset(getAssets(), "iconfont.ttf");
TextView textview = (TextView)findViewById(R.id.tv);
textview.setTypeface(iconfont);
}
}
效果如图所示:
优点
通过textSize和textColor调整字体图片的大小和颜色,效果基本与直接使用icon图片一致。但字体比图片小,使用字体,可以减小包大小,同样的icon需要十几kb,但字体文件只要不到2kb。所以做apk瘦身时,也可以考虑使用这种方式代替icon图片。