用文字替换小图标(TextView替换ImageView)

原理很简单,就是利用了字体文件:
Typeface iconfont = Typeface.createFromAsset(getAssets(), "iconfont/iconfont.ttf");
TextView textview = (TextView)findViewById(R.id.like);
textview.setTypeface(iconfont);
textview.setTextSize(40);


问题是字体文件哪里来?
从这里来 http://www.iconfont.cn/

打开上面的网页,鼠标往下滚,挑一些你需要的图标导出来就得到了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">&#x3441;&#x3438;&#x343b;&#x343d;&#x343c;&#x343e;&#x343a;&#x3439;&#x343f;&#x3442;&#x3440;&#x3437;</string>


上面类似&#x3441;的表示一个小图标,这个可以在刚才导出来的文件夹中有一个html文件,打开这个html文件即可看到对应的文本和图标,copy到string.xml中即可。

我使用后的效果见图,是12星座喔。

用文字替换小图标(TextView替换ImageView)_第1张图片


另外还有一个字体库Font-Awesome,下载后copy其中的fontawesome-webfont.ttf文件到assets文件夹,下载地址:
http://fortawesome.github.io/Font-Awesome/
还需要从github上下载一个字符串资源放到res目录下的values目录,网址见 https://github.com/liltof/font-awsome-for-android
具体方法见: http://blog.csdn.net/sbsujjbcy/article/details/44900263

你可能感兴趣的:(android)