編輯:關於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開發者們能有所幫助,如果有疑問大家可以留言交流。謝謝大家低本站的支持。
使用樣式文件,在values 目錄下新建styles.xml文件,編寫如下代碼: 復制代碼 代碼如下: Code highlighting produced by Act
wifi相關的文件位置:WIFI Settings應用程序位於packages/apps/Settings/src/com/android/settings/wifi/J
在Android的開發中,我們經常遇見倒計時的操作,通常使用Timer和Handler共同操作來完成。當然也可以使用Android系統控件CountDownTimer,這
如果你是在校大學生,或許你用多了各種課程表,比如課程格子,超級課程表。它們都有一個共同點就是可以一鍵導入教務處的課程。那麼一直都是用戶的我們,沒有考慮過它是