时间:2021-05-20
字体图标
字体图标是指将图标做成字体文件(.ttf),从而代替传统的png等图标资源。
使用字体图标的优点和缺点分别为:
优点:
1. 可以高度自定义图标的样式(包括大小和颜色),对于个人开发者尤其适用
2. 可以减少项目和安装包的大小(特别你的项目中有很多图片icon时,效果将是M级)
3. 几乎可以忽略屏幕大小和分辨率,做到更好的适配
4. 使用简单
……
缺点:
1. 只能是一些简单的icon,不能代替如背景图、9图等资源
2. 一些需要文字说明的icon,图片资源将会是更好的选择
3. 对设计的要求更高,不同icon可能拥有不同的边距,这时要切换icon时还要设置大小
4. 由于边距的存在可能存在无法填满控件的情况
5. 无法在Android studio中进行实时预览
iconfont对于客户端应用来说有很多便捷:
1、自由变化大小
2、自由修改颜色
3、可以添加一些视觉效果如:阴影、旋转、透明度。
4、比单位的图片更节省资源
正常的添加方案
第一步:复制字体文件到项目 assets 目录;
第二步:打开 iconfont 目录中的 demo.html,找到图标相对应的 HTML 实体字符码;
第三步:打开 res/values/strings.xml,添加 string 值;
<string name="icons"> 手机</string>第四步:打开 activity_main.xml,添加 string 值到 TextView:
<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);}设置完效果如下
就是这么简单完事。但是我们发现在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); }}然后就是改一下我们布局文件
<com.xiaoming.liaoliao.view.IconFontTextview android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20dp" android:textColor="@android:color/holo_red_dark" android:text=" 手机" />其他textview的属性还是正常使用,解决
总结
如你所见,使用字体图标可以高度自定义图标的大小和颜色,对于个人开发者来说是一个特别好的消息,再也不用在找图标时考虑颜色和大小了。以上就是在Android中正确使用字体图标(iconfont)的方法,希望这篇文章对各位Android开发者们能有所帮助,如果有疑问大家可以留言交流。谢谢大家低的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
如何引入外部字体库iconfont的图标,具体如下直接使用阿里巴巴的网络路径选择iconfont图标官网:阿里巴巴矢量字体库步骤:阿里巴巴字体库使用方法全局引入
问题:在项目开发时使用字体图标,报错如下:所有的字体图标都不能正常显示了,报错提示不能解码字体。解决问题:找了很久,最后发现是在webpack配置的时候自己手动
开源字体即是指免费商用字体。字体属于设计作品,使用字体商用都是有版权的,区别在于部分字体的版权是免费商用。 所谓“字体”(typeface)与“字型”(fon
一、vue中使用iconfont1、百度搜索iconfont或者阿里巴巴矢量图标库官网,注册登录;2、找到图标管理->新建项目,或者使用已有的项目,用于保存自己
做移动开发的时候经常会遇到点赞的一些处理,尤其是当使用字体图标的时候,由于仅希望改变字体,但是字体经过编译之后又和它的.html()不一致,所以导致判断起来比较