1. 程式人生 > >android使用font awesome替代簡單的圖示

android使用font awesome替代簡單的圖示

在android開發中,往往會有大量的小圖示,可是android介面與html是不同的,比如html中,可以將大量的小圖示製作成雪碧圖,這樣會大量的減少http的請求次數,對於效能也是有很大的提升,而在android中,一般對於na本身tive app的小圖示一般是用來做顯示用的,都會內嵌到 應用 ,兩者也沒有什麼可比性,不過如果android應用中有大量的小圖示,無形中就增加了apk的檔案大小,這個時候就到了font awesome出場了。

什麼是font awesome

font awesome是一個專為Bootstrap設計的字型檔案,我們可以通過向顯示字型一樣方便的顯示我們想要顯示的圖示檔案。對於android來講,可以使用字型來代替部分需要顯示的小圖片,並且在這些字型中的圖片都是向量圖,是可以放大和縮小的,這就意味著每個圖示都能在所有大小的螢幕上完美呈現。好了,廢話不多說,直接進入正題吧。

在android上使用font awesome

1.下載font awesome

下載地址

2.解壓下載的壓縮包

將fonts目錄下的fontawesome-webfont.ttf檔案拷貝到asset資料夾下
這裡寫圖片描述

3.編寫string.xml

<string name="heard">&#xf004;</string>
<string name="fa_google_plus">&#xf0d5;</string>
<string name="fa_save">&#xf0c7;</string>
<string name="fa_thumbs_o_up">&#xf087;</string> <string name="fa_toggle_on">&#xf205;</string>

這裡每一個string中的值就是需要顯示的圖示對應的值,name的值可以隨便給一個,不過一般都是一個有意義的名稱。

4.編寫佈局

在textview中使用該字串,就可以顯示其對應的圖示了,這裡就替換了之前使用imageview來顯示小圖示了。方便了很多。

<LinearLayout     xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center_horizontal" android:padding="50dp" tools:context=".MainActivity" > <TextView android:id="@+id/test_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/heard" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="#Ff9834" android:textSize="30sp" /> <TextView android:id="@+id/fa_google_plus" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/fa_google_plus" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="#87619a" android:textSize="50sp" /> <TextView android:id="@+id/fa_thumbs_o_up" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/fa_thumbs_o_up" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="#976523" android:textSize="60sp" /> <TextView android:id="@+id/fa_save" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/fa_save" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="#954278" android:textSize="40sp" /> <TextView android:id="@+id/fa_toggle_on" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/fa_toggle_on" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="#273896" android:textSize="50sp" /> </LinearLayout>

可以發現,這裡我們可以自定義該圖示的顏色和大小,這樣在不同的螢幕適配也是極好的,很方便。

5.程式碼中引用

首先找到asset下對應的.ttf檔案

Typeface font = Typeface.createFromAsset(getAssets(), "fontawesome-webfont.ttf");

然後只需要為每一個textView setTypeface(font)即可。

((TextView)findViewById(R.id.fa_google_plus)).setTypeface(font);

顯示效果如下:
這裡寫圖片描述

雖然font awesome有諸多優點,但是還是不得不提其圖示數量還是那麼的有限,我們很難找到從其身上所有的需要的圖示。全當一個瞭解吧,這也是其還沒有在本地應用流行起來的原因吧,不過對於web app這是一個很好的創新,尤其是使用bootstrap編寫出來的web頁面,同樣可以在手機的瀏覽器上訪問。這種自適應的佈局,真正達到了pc和手機同時可以訪問的目的。

原始碼下載

相關推薦

android使用font awesome替代簡單圖示

在android開發中,往往會有大量的小圖示,可是android介面與html是不同的,比如html中,可以將大量的小圖示製作成雪碧圖,這樣會大量的減少http的請求次數,對於效能也是有很大的提升,而在android中,一般對於na本身tive app的小

Android使用Font Awesome顯示小圖示(一)

Android中傳統的顯示圖示的方式 在平常的開發中,如果我們需要在介面上顯示某個小圖示,比如搜尋按鈕,返回按鈕,這時我們需要美工給我們切對應的png圖片,並放進對應的drawable資料夾中,這樣隨著圖示的越來越多,APK體積也會越來越大。 什麼是Fo

iconfont字型圖示的使用方法--超簡單! 我之前因為專案用bootstrap比較多,所以使用font awesome字型圖示比較多,後來接觸到了iconfont,發現想要的什麼圖示都有,還可以

我之前因為專案用bootstrap比較多,所以使用font awesome字型圖示比較多,後來接觸到了iconfont,發現想要的什麼圖示都有,還可以自定義圖示,非常強大!之前看了一波教程,覺得繁瑣,自己弄明白後感覺如此簡單,做了這麼個簡單教程,直接上圖,簡單粗暴,避免新手走彎路,這裡講解的預設是元素使用類

Ubuntu 16.04安裝Grub Customizer替代Startup-manager(解決找不到menu.lst,GRUB配置簡單介紹)

沒有 line 計算機 引導 tps 最好 file 自己 otl 關於GRUB的介紹: http://baike.baidu.com/item/GRUB http://blog.csdn.net/bytxl/article/details/9253713 menu.

Android界面坐標圖示和Rect(矩形)簡單介紹

log sof rac android界面 ng- 矩形 blog 介紹 trac Android界面的坐標是以左上角為起始點。平行的為X軸,垂直的為Y軸,數值都是遞增的。例如以下圖所看到的: Android的Rect類是形成一個矩形的區域。區域

vue:簡單方法替代vuex或者bus

合數 方法 export 感覺 bus 缺點 變化 傳遞數據 blog 兄弟組件,隔代組件傳值很麻煩,方法雖然多,但都各有缺點。 vuex: 適合數據量大,並且函數集中處理。 bus:適合數據雖少,卻不得不用的時候,維護困難。 root:這兒指將值掛在root組件上,需要的

使用font-awesome 在input框中增加一個圖示

比如:     在登入框增加一個使用者頭像 ,提示使用者輸入使用者名稱 <html> <link href="http://libs.baidu.com/fontawesome/4.4.0/css/font-awesome.min.css"

CSS偽元素:before/CSS偽元素:before/:after content 顯示Font Awesome字型圖示:after content 顯示Font Awesome字型圖示

HTML <a href="javascript:volid(0);"><i class="icon-table"></i>表格</a> CSS input[type="radio"]:checked + label:before {

Angular7 關於Bootstrap4.x.x版本無法使用Glyphicons 字型圖示 簡單解決方案

是的,筆者最近開始磨磨蹭蹭學起了這個Angular(等我係統性學習後,後面的部落格估計會有很多關於Angular的東西了,當然後端開發依然是我的主打)。    Angular版本確實可以說是更新飛快了(能不能穩定點???)。我就是很拼,用的7版本, 然後bootstrap

不容錯過的圖示樣式-FONT-AWESOME

設定Font Awesome字型的方法很簡單,只需將兩行程式碼新增到你的網站。或者你可以成為一個專業和定製一個最簡單的自己,Bootstrap 3 Font Awesome字型會讓更好的扮演自己! 一、最簡單的通過MaxCDN方法使用BootstrapCDN 由

layui icon 擴充套件阿里圖示庫或Font Awesome

鑑於Layui 140個圖示可能不太夠用,所以這裡我們需要擴充套件下 分別試了 Font Awesome 和 阿里的IconFont ,其他圖示庫應該是通用的 首先Font Awesome 這裡用的4

Axure的快捷鍵,及網頁版簡單登入頁面,安卓圖示

複製快捷鍵: ctrl+滑鼠左鍵 拖拽 ctrl+D:複製出來的新元件的XY的值各加10PX; ctrl+C,----》貼上ctrl+V 選中兩個框下拉下面一個,兩個就一樣放大 右鍵–》組合 中間按一

Android EditText中新增圖示簡單方法

只需要在佈局檔案中新增drawableLeft屬性,我是在最左邊添加了一個圖片,我的程式碼: <EditText android:draw

巧用 Drawable 之實現一個最簡單的自定義電池圖示

在 Android 中自定義一個電池圖示,一般是採用自定義 View,在 onDraw 中採用 Canvas 去繪製 Bitmap 或者各種幾何圖形。但是自定義 View 對初學者來說可能會有一點難度,那麼有沒有更簡單的辦法來實現自定義電池圖示呢? 實現電

HTTP服務端介面模擬工具-HttpServerMockTool 1 工具功能介紹 這個工具可以通過簡單的配置達到快速模擬第三方HTTP服務端介面的作用,替代以前要手寫servlet程式碼再放到to

HTTP服務端介面模擬工具-HttpServerMockTool 1 工具功能介紹 這個工具可以通過簡單的配置達到快速模擬第三方HTTP服務端介面的作用,替代以前要手寫servlet程式碼再放到tomcat下的過程。 2 工具使用指南 使用前請仔細閱讀工具使用指南

Font Awesome 字型的以及 圖示的使用總結

首先說一下網站的路徑:http://www.bootcss.com/p/font-awesome/ 將Font Awesome 整合到 Bootstrap 非常容易,還可以被單獨使用。 最簡單的 Bootstrap + Font Awesome 整合方式 使用這

怎麼得到一個頁面的a標籤,怎麼在頁面裡放置一個很簡單圖示

就說了getElementByTagName和選擇器 $("#foo")獲取id為foo的元素 document.getElementById(“foo”) 若給一個元素追加class,用addclass 即 $("p").addClass("another"); 怎麼

一個可以替代Toast的簡單MessageView

系統自帶的Toast有時候不能滿足我們的需求,現在提供一個可以快速替代Toast的方案。專案地址:[img]http://dl2.iteye.com/upload/attachment/0093/2999/3bbbac44-b2fe-3c56-ba5c-ae44f18a2a2

RecyclerView替代Listview之簡單比較

RecycleView使用也有一段時間了,感覺有美好的時候,也有煩惱的時候;總結一下吧! 首先,我們看看google關於它的設計理念: RecyclerView is a more advanced and flexible version of Lis

linux中service與chkconfig的替代者systemctl的簡單介紹

linux中有很多命令已經存在了N多年,漸漸一些已被一些新命令所代替,不過由於習慣的原因,很多時候我們並不能一下子適應過來 ,例如ifconfig之於ip命令。 最近在升級到centos7時也發現不支援service命令了,systemctl是systemd下