Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android中正確使用字體圖標(iconfont)的方法

Android中正確使用字體圖標(iconfont)的方法

編輯:關於Android編程

字體圖標

字體圖標是指將圖標做成字體文件(.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開發者們能有所幫助,如果有疑問大家可以留言交流。謝謝大家低本站的支持。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved