Android中使用FontAwesome
来源:互联网 发布:马桶品牌知乎 编辑:程序博客网 时间:2024/05/17 23:06
原理
FontAwesome 图标集背后的思想非常简单,图标被视为字符(character)。你选择列表中的一个图标,记下它的Unicode的字符,在TextView中使用它告诉安卓使用FontAwesome字体来渲染。
你可以在下面的链接中找到所需要的图标。
http://fontawesome.dashgame.com/
添加依赖
在build.gradle添加依赖,这样Android Studio自动帮你下载依赖包。
dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.0.0' compile 'com.android.support:design:23.0.0' //android-iconify compile 'com.joanzapata.iconify:android-iconify-fontawesome:2.1.1' // (v4.5) compile 'com.joanzapata.iconify:android-iconify-entypo:2.1.1' // (v3,2015) compile 'com.joanzapata.iconify:android-iconify-typicons:2.1.1' // (v2.0.7) compile 'com.joanzapata.iconify:android-iconify-material:2.1.1' // (v2.0.0) compile 'com.joanzapata.iconify:android-iconify-material-community:2.1.1' // (v1.2.65) compile 'com.joanzapata.iconify:android-iconify-meteocons:2.1.1' // (latest) compile 'com.joanzapata.iconify:android-iconify-weathericons:2.1.1' // (v2.0) compile 'com.joanzapata.iconify:android-iconify-simplelineicons:2.1.1' // (v1.0.0) compile 'com.joanzapata.iconify:android-iconify-ionicons:2.1.1' // (v2.0.1) }
加载使用
在Android view中要使用图标,需要在activity的中onCreate()中加载:
package com.example.fengge.shuttlebus;import android.app.TabActivity;import android.content.Intent;import android.content.pm.ActivityInfo;import android.content.res.Resources;import android.graphics.Color;import android.os.Bundle;import android.util.Log;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TabHost;import android.widget.TabWidget;import android.widget.TextView;import com.joanzapata.iconify.IconDrawable;import com.joanzapata.iconify.Iconify;import com.joanzapata.iconify.fonts.EntypoModule;import com.joanzapata.iconify.fonts.FontAwesomeIcons;import com.joanzapata.iconify.fonts.FontAwesomeModule;import com.joanzapata.iconify.fonts.IoniconsModule;import com.joanzapata.iconify.fonts.MaterialCommunityModule;import com.joanzapata.iconify.fonts.MaterialModule;import com.joanzapata.iconify.fonts.MeteoconsModule;import com.joanzapata.iconify.fonts.SimpleLineIconsModule;import com.joanzapata.iconify.fonts.TypiconsModule;import com.joanzapata.iconify.fonts.WeathericonsModule;public class MainActivity extends TabActivity implements TabHost.OnTabChangeListener { public static MainActivity mTabActivityInstance; private TabHost tabHost; private Resources res; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);// requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.home_tab); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); Iconify .with(new FontAwesomeModule()) .with(new EntypoModule()) .with(new TypiconsModule()) .with(new MaterialModule()) .with(new MaterialCommunityModule()) .with(new MeteoconsModule()) .with(new WeathericonsModule()) .with(new SimpleLineIconsModule()) .with(new IoniconsModule()); tabHost = getTabHost(); res = getResources(); TabHost.TabSpec spec;// setTitle(res.getText(R.string.app_name)); mTabActivityInstance=this; //加载底部Tab布局 LinearLayout tab1 = (LinearLayout) LayoutInflater.from(this).inflate(R.layout.action_item, null); ImageView icon1 = (ImageView) tab1.findViewById(R.id.icon);// icon1.setBackgroundResource(R.drawable.home36); icon1.setImageDrawable(new IconDrawable(this, FontAwesomeIcons.fa_home) .colorRes(android.R.color.white) .actionBarSize()); TextView title1 = (TextView) tab1.findViewById(R.id.title); title1.setText(res.getText(R.string.activity_home_tab_name)); title1.setTextColor(Color.rgb(255, 255, 255)); LinearLayout tab2 = (LinearLayout) LayoutInflater.from(this).inflate(R.layout.action_item, null); ImageView icon2 = (ImageView) tab2.findViewById(R.id.icon);// icon2.setBackgroundResource(android.R.drawable.ic_menu_search); icon2.setImageDrawable(new IconDrawable(this, FontAwesomeIcons.fa_search) .colorRes(android.R.color.white) .actionBarSize()); TextView title2 = (TextView) tab2.findViewById(R.id.title); title2.setText(res.getText(R.string.activity_search_tab_name)); title2.setTextColor(Color.rgb(255, 255, 255)); LinearLayout tab3 = (LinearLayout) LayoutInflater.from(this).inflate(R.layout.action_item, null); ImageView icon3 = (ImageView) tab3.findViewById(R.id.icon); icon3.setImageDrawable(new IconDrawable(this, FontAwesomeIcons.fa_tasks) .colorRes(android.R.color.white) .actionBarSize()); TextView title3 = (TextView) tab3.findViewById(R.id.title); title3.setText("登记"); title3.setTextColor(Color.rgb(255, 255, 255)); LinearLayout useInfoTab = (LinearLayout) LayoutInflater.from(this).inflate(R.layout.action_item, null); ImageView userIcon = (ImageView) useInfoTab.findViewById(R.id.icon); userIcon.setImageDrawable(new IconDrawable(this, FontAwesomeIcons.fa_user) .colorRes(android.R.color.white) .actionBarSize()); TextView userTitle = (TextView) useInfoTab.findViewById(R.id.title); userTitle.setText(res.getText(R.string.activity_user_tab_name)); userTitle.setTextColor(Color.rgb(255, 255, 255)); // 加载TabSpec tabHost.setup(getLocalActivityManager()); spec = tabHost.newTabSpec("Home") .setIndicator(tab1) .setContent(new Intent(this, HomeActivity.class)); tabHost.addTab(spec); spec = tabHost.newTabSpec("Register") .setIndicator(tab3) .setContent(new Intent(this, BookingTicketActivity.class)); tabHost.addTab(spec); spec = tabHost.newTabSpec("Search") .setIndicator(tab2) .setContent(new Intent(this, SearchActivity.class)); tabHost.addTab(spec); // me spec = tabHost.newTabSpec("UseInfo") .setIndicator(useInfoTab) .setContent(new Intent(this, UserInfoActivity.class)); tabHost.addTab(spec); TabWidget tw = tabHost.getTabWidget(); tw.setBackgroundResource(android.R.drawable.screen_background_dark); tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() { @Override public void onTabChanged(String tabId) { processTabChanged(tabId); } }); tabHost.setCurrentTab(0); processTabChanged("Home"); } public void processTabChanged(String tabId) { clearTabBackgroundColor(); View currentTabView = tabHost.getCurrentTabView(); ImageView icon = (ImageView) currentTabView.findViewById(R.id.icon); TextView title = (TextView) currentTabView.findViewById(R.id.title); title.setTextColor(getResources().getColor(android.R.color.holo_blue_bright)); Log.v("tabId", tabId); if (tabId.equalsIgnoreCase("Home")) { icon.setImageDrawable(new IconDrawable(this, FontAwesomeIcons.fa_home) .colorRes(android.R.color.holo_blue_bright) .actionBarSize()); } else if (tabId.equalsIgnoreCase("Search")) { icon.setImageDrawable(new IconDrawable(this, FontAwesomeIcons.fa_search) .colorRes(android.R.color.holo_blue_bright) .actionBarSize()); } else if (tabId.equalsIgnoreCase("Register")) { icon.setImageDrawable(new IconDrawable(this, FontAwesomeIcons.fa_tasks) .colorRes(android.R.color.holo_blue_bright) .actionBarSize()); } else { icon.setImageDrawable(new IconDrawable(this, FontAwesomeIcons.fa_user) .colorRes(android.R.color.holo_blue_bright) .actionBarSize()); } } private void clearTabBackgroundColor() { int tabCount = tabHost.getTabWidget().getTabCount(); FontAwesomeIcons[] iconses = new FontAwesomeIcons[]{FontAwesomeIcons.fa_home, FontAwesomeIcons.fa_tasks, FontAwesomeIcons.fa_search, FontAwesomeIcons.fa_user}; for (int i = 0; i < tabCount; i++) { ImageView icon = (ImageView)tabHost.getTabWidget().getChildTabViewAt(i).findViewById(R.id.icon); icon.setImageDrawable(new IconDrawable(this, iconses[i]) .colorRes(android.R.color.white) .actionBarSize()); TextView title = (TextView) tabHost.getTabWidget().getChildTabViewAt(i).findViewById(R.id.title); title.setTextColor(getResources().getColor(android.R.color.white)); } } @Override public void onTabChanged(String tabId) { Log.v("onTabChanged", tabId); }}
0 0
- Android中使用FontAwesome
- android中使用fontawesome
- 如何在 Android 应用中使用 FontAwesome 图标
- 如何在 Android 应用中使用 FontAwesome 图标
- Axure中使用FontAwesome字体
- Swift SpriteKit 中使用 FontAwesome
- 如何在android项目中试用FontAwesome
- Android fontawesome-webfont.ttf字体库的使用
- Axure中使用图标字体【FontAwesome】
- WordPress插件 | 在WordPress中使用FontAwesome
- 如何在安卓app中使用FontAwesome图标
- 如何在安卓app中使用FontAwesome图标
- 在安卓项目中使用FontAwesome图标
- 如何在安卓app中使用FontAwesome图标
- 在 Windows Forms 和 WPF 应用中使用 FontAwesome 图标
- 在 Windows Forms 和 WPF 应用中使用 FontAwesome 图标
- 在 Windows Forms 和 WPF 应用中使用 FontAwesome 图标
- 在QT/QML中使用FontAwesome做图标显示
- [数据结构和算法]状态树的问题
- 蒙特卡洛树算法 (MCTS)
- 互联网时代中生存
- 如何解决delphi xe8编译大程序时内存不够的问题。
- 多个USB短信猫,启动短信猫后台程序总是有几个不能连接
- Android中使用FontAwesome
- 幸福新思维
- 史上最权威《全球O2O企业名录》:共880家
- Android中实时视频传输(摄像头实时视频传输)解决方案<二>
- jax-rpc 相关的资源
- 网站搜索服务解决方案
- C++第1次实验二
- 深读IP、UV和pv
- WCF 入门教程