源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-04-17 21:11 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android中正确使用字体图标(iconfont)的方法
[b]字体图标[/b] 字体图标是指将图标做成字体文件(.ttf),从而代替传统的png等图标资源。 使用字体图标的优点和缺点分别为: [b]优点: [/b]       1. 可以高度自定义图标的样式(包括大小和颜色),对于个人开发者尤其适用       2. 可以减少项目和安装包的大小(特别你的项目中有很多图片icon时,效果将是M级)       3. 几乎可以忽略屏幕大小和分辨率,做到更好的适配       4. 使用简单       …… [b]缺点: [/b]       1. 只能是一些简单的icon,不能代替如背景图、9图等资源       2. 一些需要文字说明的icon,图片资源将会是更好的选择       3. 对设计的要求更高,不同icon可能拥有不同的边距,这时要切换icon时还要设置大小       4. 由于边距的存在可能存在无法填满控件的情况       5. 无法在Android studio中进行实时预览 [b]iconfont对于客户端应用来说有很多便捷:[/b]       1、自由变化大小       2、自由修改颜色       3、可以添加一些视觉效果如:阴影、旋转、透明度。       4、比单位的图片更节省资源 [b]正常的添加方案[/b] [b]第一步:[/b]复制字体文件到项目 assets 目录; [img]http://files.jb51.net/file_images/article/201610/2016101791748127.png?201691791812[/img]   [b]第二步:[/b]打开 iconfont 目录中的 demo.html,找到图标相对应的 HTML 实体字符码; [b]第三步:[/b]打开 res/values/strings.xml,添加 string 值;
<string name="icons"> 手机</string>
[b]第四步:[/b]打开 activity_main.xml,添加 string 值到 TextView:
<TextView
  android:id="@+id/like"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="@string/icons" />
[b]第五步:[/b]为 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);
}
设置完效果如下 [img]http://files.jb51.net/file_images/article/201610/2016101791945918.jpg?201691792021[/img]   就是这么简单完事。但是我们发现在[code]activity[/code]代码中[code]setTypeface[/code]很没有必要。因为我们整个应用有很多页面都需要设置字体图标时,这样设置会有很多垃圾代码产生。这时我们可以用一个简单的自定义[code]view[/code]就解决问题
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=" 手机" />
其他[code]textview[/code]的属性还是正常使用,解决 [b]总结[/b] 如你所见,使用字体图标可以高度自定义图标的大小和颜色,对于个人开发者来说是一个特别好的消息,再也不用在找图标时考虑颜色和大小了。以上就是在Android中正确使用字体图标(iconfont)的方法,希望这篇文章对各位Android开发者们能有所帮助,如果有疑问大家可以留言交流。谢谢大家低编程素材网的支持。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部