Android - 使用字体文件,自定义View代替图标
2017-04-14 11:35
405 查看
唠叨
今天无意中看到了 material-design-iconic-font ,就想着使用该字体文件使用TextView显示Unicode图标。1. 引入 字体文件
下载字体文件后,与res资源文件同级新建
assets/fonts文件夹 ,复制进去;
2. FontUtils
自定义Font工具类,加载所有的字体
TypeFace, 以便使用;
public class FontUtils { private static Typeface iconFace; public static Typeface getIconTypeFace() { if (iconFace == null) { synchronized (FontUtils.class) { if (iconFace == null) { iconFace = Typeface.createFromAsset(CoreApplication.getInstance().getAssets(), "fonts/Material-Design-Iconic-Font.ttf"); } } } return iconFace; } // 当然也可以加载 其他的字体文件,给textview使用 }
3. 自定义 IconView
继承 AppCompatTextView , 当然你也可以加载其他类型的字体,这样你的App就显示为其他字体的样式!public class IconView extends AppCompatTextView { public IconView(Context context) { super(context); init(context); } public IconView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); init(context); } public IconView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(context); } private void init(Context context) { this.setTypeface(FontUtils.getIconTypeFace()); } }
4. 使用
可以自定义颜色和大小string.xml
<string name="icon_keyboard_hide">\uf2a3</string>
引入
<com.smartahc.android.core_ui.weight.IconView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/icon_keyboard_hide" android:textColor="@color/blue_light" android:layout_centerInParent="true" android:textSize="50sp"/>
更多 unicode 图标见 : material-design-iconic-font/icons
记住 前面加入
\u, 比如 下面的
\uf3e9
5.注意
不要在 application 中加载字体文件不要在IconView中加载字体文件 , 虽然存在 Context , 每次加载都浪费资源!
相关文章推荐
- Android怎么使用字体图标 自定义FontTextView字体图标控件-- 使用方法
- Android 自定义View及其在布局文件中的使用示例
- Android Webview使用自定义字体加载网页
- Android实例-使用自定义字体文件(XE8+小米2)
- Android 自定义View及其在布局文件中的使用示例
- Delphi XE5开发Android程序使用自定义字体文件.
- Android使用字体代替图标
- Android 自定义View及其在布局文件中的使用示例(三):结合Android 4.4.2_r1源码分析onMeasure过程
- android中使用自定义字体以及图标字体
- Android 自定义View及其在布局文件中的使用示例
- android自定义图标字体的使用
- Android 自定义View及其在布局文件中的使用示例
- Android 自定义View及其在布局文件中的使用示例
- Delphi XE5开发Android程序使用自定义字体文件.
- Android 自定义View及其在布局文件中的使用示例(二)
- Android的TextView使用Html来处理图片显示、字体样式、超链接等
- (转)Android教程之如何使用自定义字体
- 在android应用使用自定义的字体显示文字
- Android的TextView/EditText使用CharacterStyle&SpannableString来处理图片显示、字体样式、超链接等
- Android的TextView使用Html来处理图片显示、字体样式、超链接等