文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android中正确使用字体图标(iconfont)的方法

2022-06-06 07: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开发者们能有所帮助,如果有疑问大家可以留言交流。谢谢大家低编程网的支持。

您可能感兴趣的文章:Android实现底部图标与Fragment的联动实例Android开发之APP安装后在桌面上不显示应用图标的解决方法Android 桌面图标右上角显示未读消息数字Android实现下拉刷新的视图和图标的旋转Android如何动态改变App桌面图标Android输入框添加emoje表情图标的实现代码Android获取高清app图标代码分享Android App更改应用的图标的实现方法


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯