今天写项目的之于看了一下material Design关于底座图标BottomNacigationBar的介绍,网上的资料已经很详细了,在此留下记录便于以后查找.
首先要添加项目依赖
compile 'com.ashokvarma.android:bottom-navigation-bar:1.3.1'
我们也可以点击file选中Project Structure ,然后选择Dependencies,点击那个绿色的加号就可以搜索我们需要的依赖了,输入关键字选择即可.
项目开始首先是一个很简单的XML界面
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <LinearLayout android:id="@+id/tb" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" /> <com.ashokvarma.bottomnavigation.BottomNavigationBar android:id="@+id/bottom_navigation_bar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" /> </RelativeLayout>
然后是Activity.java 文件
public class FindResourceActivity extends BaseActivity implements BottomNavigationBar.OnTabSelectedListener { private BottomNavigationBar bar; private ExpertFragment expertFragment; private AgentFragment agentFragment; private BuyFragment buyFragment; private InstitutionFragment institutionFragment; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_findresource); bar = (BottomNavigationBar) findViewById(R.id.bottom_navigation_bar); bar.setMode(BottomNavigationBar.MODE_SHIFTING);//点击模式 bar.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_STATIC); bar.addItem(new BottomNavigationItem(R.mipmap.home, "科研机构")).setActiveColor(R.color.color_6a6a6a). addItem(new BottomNavigationItem(R.mipmap.message, "专家个人")).setActiveColor(R.color.color_F90202). addItem(new BottomNavigationItem(R.mipmap.custom, "中介机构")).setActiveColor(R.color.main_tab_indicator_color). addItem(new BottomNavigationItem(R.mipmap.mine, "技术供需")).setActiveColor(R.color.color_79c051).setFirstSelectedPosition(0).initialise(); bar.setTabSelectedListener(this); setDefaultFragment(); } /** * 设置默认的 */ private void setDefaultFragment() { FragmentManager fm = getFragmentManager(); FragmentTransaction transaction = fm.beginTransaction(); expertFragment = ExpertFragment.newInstance("科研机构"); transaction.replace(R.id.tb,expertFragment); transaction.commit(); } @Override public void onTabSelected(int position) { FragmentManager fm = this.getFragmentManager(); //开启事务 FragmentTransaction transaction = fm.beginTransaction(); switch (position) { case 0: if (institutionFragment == null) { institutionFragment = InstitutionFragment.newInstance("科研机构",""); } transaction.replace(R.id.tb, institutionFragment); break; case 1: if (expertFragment == null) { expertFragment = ExpertFragment.newInstance("专家个人"); } transaction.replace(R.id.tb, expertFragment); break; case 2: if (agentFragment == null) { agentFragment = AgentFragment.newInstance("中介机构",""); } transaction.replace(R.id.tb, agentFragment); break; case 3: if (buyFragment == null) { buyFragment = BuyFragment.newInstance("技术供需",""); } transaction.replace(R.id.tb, buyFragment); break; default: break; } // 事务提交 transaction.commit(); } @Override public void onTabUnselected(int position) { } @Override public void onTabReselected(int position) { }
以上就是java代码具体实现,感觉没什么可说的...构建自己需要的Fragment添加就可以了, 我是添加了4个Fragment,需要注意Fragment引入的包必须是App的不可以是V4包.
操作简单使用方便.