说下自己在使用IconFont过程中遇到的一些问题
1、Font asset not found iconfont.ttf
这是因为自己没注意到Android studio的assets文件夹的位置跟eclipse的不太一样
Android studio路径为:项目名/app/src/main/assets
Eclipse路径为:项目名/assets
2、在项目中大量使用时可以自定义个view,以减少代码重复,如下
import android.content.Context;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.widget.TextView;
/**
* Created by laisixiang on 2015/12/28.
*/
public class IconFontView extends TextView {
public IconFontView(Context context) {
super(context);
}
public IconFontView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public IconFontView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
Typeface iconfont = Typeface.createFromAsset(getContext().getAssets(), "iconfont.ttf");
this.setTypeface(iconfont);
}
}
在xml中引用记得全名
<com.app.views.IconFontView
android:id="@+id/iconfont
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/icon_to"/>
图标获取网站:http://www.iconfont.cn/collections
得到.ttf方法:http://blog.csdn.net/a345017062/article/details/46455745
摘要
http://blog.csdn.net/goodlixueyong/article/details/41448483
IconFont字体不仅仅流行于Web开发,在移动开发中也渐渐的使用的范围更广泛。这里介绍在Android开发中使用icon font的代码和方法。
应用步骤:
1、第一步:复制字体文件到项目 assets 目录;
2、第二步:打开 iconfont 目录中的 demo.html,找到图标相对应的 HTML 实体字符码;
3、第三步:打开 res/values/strings.xml,添加 string 值;
<string name="icons">㘅 㖭 㖮 㖯</string>
4、第四步:打开 activity_main.xml,添加 string 值到 TextView:
<TextView
android:id="@+id/like"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/icons" />
5、第五步:为 TextView 指定文字:
import android.graphics.Typeface;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Typeface iconfont = Typeface.createFromAsset(getAssets(), "iconfont/iconfont.ttf");
TextView textview = (TextView)findViewById(R.id.like);
textview.setTypeface(iconfont);
}