原理很简单,就是利用了字体文件:
Typeface iconfont = Typeface.createFromAsset(getAssets(), "iconfont/iconfont.ttf");
TextView textview = (TextView)findViewById(R.id.like);
textview.setTypeface(iconfont);
textview.setTextSize(40);
问题是字体文件哪里来?
从这里来
打开上面的网页,鼠标往下滚,挑一些你需要的图标导出来就得到了ttf文件,将其中的ttf文件copy到assets文件夹下即可。
我这里使用的是“淘宝图标库”里的图标。(PS:最好不要选择“阿里妈妈图标库”里的图标,生成出来后,程序运行直接出错,可能跟NDK的bug有关)
<TextView
android:id="@+id/like"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/icons"
android:textColor="@android:color/holo_blue_light"
/>
<string name="icons">㑁㐸㐻㐽㐼㐾㐺㐹㐿㑂㑀㐷</string>
上面类似㑁的表示一个小图标,这个可以在刚才导出来的文件夹中有一个html文件,打开这个html文件即可看到对应的文本和图标,copy到string.xml中即可。
我使用后的效果见图,是12星座喔。
另外还有一个字体库Font-Awesome,下载后copy其中的fontawesome-webfont.ttf文件到assets文件夹,下载地址:
http://fortawesome.github.io/Font-Awesome/
还需要从github上下载一个字符串资源放到res目录下的values目录,网址见
https://github.com/liltof/font-awsome-for-android
实现了在 Android 上集成 FontAwesome 图标字体:Iconify
http://www.open-open.com/lib/view/open1439900695989.html
Iconify库重大更新,更好更强大
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0817/3312.html
https://github.com/JoanZapata/android-iconify
- 大小: 109.3 KB
- IconFontDemo.rar (1.4 MB)
- 下载次数: 3
- timefont.rar (2.4 KB)
- 描述: 字体文件,只对数字有效
- 下载次数: 2
- 查看图片附件