android 使用字体图,android中字体图标的正确使用

iconfont对于客户端应用来说有很多便捷:

1、自由变化大小

2、自由修改颜色

3、可以添加一些视觉效果如:阴影、旋转、透明度。

4、比单位的图片更节省资源

正常的添加方案

第一步:复制字体文件到项目 assets 目录;

16d5ec3314fa

第二步:打开 iconfont 目录中的 demo.html,找到图标相对应的 HTML 实体字符码;

第三步:打开 res/values/strings.xml,添加 string 值;

 手机

第四步:打开 activity_main.xml,添加 string 值到 TextView:

android:id="@+id/like"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/icons" />

第五步:为 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);

}

设置完效果如下

16d5ec3314fa

就是这么简单完事。但是我们发现在activity代码中setTypeface很没有必要。因为我们整个应用有很多页面都需要设置字体图标时,这样设置会有很多垃圾代码产生。这时我们可以用一个简单的自定义view就解决问题

public class IconFontTextview extends TextView {

public IconFontTextview(Context context) {

super(context);

init(context);

}

public IconFontTextview(Context context, AttributeSet attrs) {

super(context, attrs);

init(context);

}

public IconFontTextview(Context context, AttributeSet attrs, int defStyleAttr) {

super(context, attrs, defStyleAttr);

init(context);

}

private void init(Context context){

Typeface iconfont = Typeface.createFromAsset(context.getAssets(), "iconfont/iconfont.ttf");

setTypeface(iconfont);

}

}

然后就是改一下我们布局文件

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="20dp"

android:textColor="@android:color/holo_red_dark"

android:text=" 手机" />

其他textview的属性还是正常使用,解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值