Android使用BottomTabBar实现底部导航页效果

1. 导依赖

compile 'com.hjm:BottomTabBar:1.1.1'

2. 在所实现的XML中定义一下该控件

<com.hjm.bottomtabbar.BottomTabBar
  android:id="@+id/bottom_tab_bar"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  >
</com.hjm.bottomtabbar.BottomTabBar>

3. 定义每个Fragment,这里列举一个

public class OneFragment extends Fragment{
  @Nullable
  @Override
  public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment1, container, false);
    return view;
  }
}

4. MainActivity中

//Fragment页面设置页
public class MainActivity extends AppCompatActivity {
  private BottomTabBar bottomTabBar;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    bottomTabBar = findViewById(R.id.bottom_tab_bar);
    //初始化Fragment
    bottomTabBar.init(getSupportFragmentManager())
        .setImgSize(50, 50)   //图片大小
        .setFontSize(12)            //字体大小
        .setTabPadding(4, 6, 10)//选项卡的间距
        .setChangeColor(Color.RED, Color.BLUE)   //选项卡的选择颜色
        .addTabItem("首页", R.drawable.home_, ShouYe_Fragment.class)
        .addTabItem("分类", R.drawable.classify, FenLei_Fragment.class)
        .addTabItem("发现", R.drawable.cart, Cart_Fragment.class)
        .addTabItem("我的", R.drawable.mine, Mine_Fragment.class)
        .isShowDivider(true)  //是否包含分割线
        .setOnTabChangeListener(new BottomTabBar.OnTabChangeListener() {
          @Override
          public void onTabChange(int position, String name) {
            Log.i("TGA", "位置:" + position + "   选项卡:" + name);
          }
        });
  }
}

效果图:

下面通过实例代码介绍下 Android_BottomTabBar

一:依赖 

compile 'com.hjm:BottomTabBar:1.1.1' 

二:布局

<com.hjm.bottomtabbar.BottomTabBar
    android:id="@+id/bottomTabBar"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
  </com.hjm.bottomtabbar.BottomTabBar> 

三:代码

public class MainActivity extends AppCompatActivity {
  @BindView(R.id.bottomtabbar)
  BottomTabBar bottomtabbar;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ButterKnife.bind(this);
    bottomtabbar.init(getSupportFragmentManager())
        .setImgSize(25, 25)
        .setFontSize(8)
        .setTabPadding(4, 6, 10)
        .setChangeColor(Color.RED, Color.BLACK)
        .addTabItem("精选", R.drawable.choiceness, ChoicenessFragment.class)
        .addTabItem("专题", R.drawable.dissertation, DissertationFragment.class)
        .addTabItem("发现", R.drawable.discover, DiscoverFragment.class)
        .addTabItem("我的", R.drawable.my, MyFragment.class)
        .isShowDivider(false)
        .setOnTabChangeListener(new BottomTabBar.OnTabChangeListener() {
          @Override
          public void onTabChange(int position, String name) {
          }
        })
        .setTabBarBackgroundResource(R.drawable.bottom_bg)
        .setBackgroundResource(R.drawable.bg_blue);
  }
} 

总结

以上所述是小编给大家介绍的Android使用BottomTabBar实现底部导航页效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

您可能感兴趣的文章:

  • Android ViewPager制作新手导航页(动态加载)
(0)

相关推荐

  • Android ViewPager制作新手导航页(动态加载)

    我们来讲个老生常谈的话题,估计大家都用过的->ViewPager,用它来做新手导航页面,虽然这次也是讲这个,但是和以往的用法可能有些不同,大家都看到标题进来的,应该知道的是:动态加载指示器. 什么叫动态加载呢,是不是感觉很高大上呢,其实呢就是动态的去加载指示器的数量的,而不是在布局文件中写死.希望看了这篇文章大家对ViewPager有新的认识. 看到这个效果大家应该都很不屑吧,今天讲这个就是为了让大家有新的认识.好了,好好听,开始了. 这个动态加载就是为了动态的加载下面的灰色圆点指示器和红色圆点

  • Android使用BottomTabBar实现底部导航页效果

    1. 导依赖 compile 'com.hjm:BottomTabBar:1.1.1' 2. 在所实现的XML中定义一下该控件 <com.hjm.bottomtabbar.BottomTabBar android:id="@+id/bottom_tab_bar" android:layout_width="match_parent" android:layout_height="match_parent" > </com.hjm

  • Android仿微信页面底部导航效果代码实现

    大家在参考本地代码的时候要根据需要适当的修改,里面有冗余代码小编没有删除.好了,废话不多说了,一切让代码说话吧! 关键代码如下所示: .java里面的主要代码 public class MainActivity extends BaseActivity implements TabChangeListener { private Fragment[] fragments; private FragZaiXianYuYue fragZaiXianYuYue; private FragDaoLuJi

  • Android使用RadioGroup实现底部导航栏

    RadioGroup实现底部导航栏效果,如图:: 实现可最基本的导航栏功能,不能左右滑动,只能点击 1.内嵌的fragment的布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical&q

  • Android自定义水波纹底部导航的实现

    今天给大家带来一个自定义的底部导航,我不会做动图,只能搞一张图片给大家看看,大家见谅 这个就是自定义的tablayout底部搞好的样式了 TabLayout提供了一个水平布局用于展示tabs,继承自HorizontalScrollView.一般与Viewpager结合使用实现页面和标签联动的效果,是时下APP中非常常用的一个控件 首先我们需要创建一个类或者是模块都可以 package com.example.map.tab; import android.content.Context; imp

  • Android利用悬浮按钮实现翻页效果

    今天给大家分享下自己用悬浮按钮点击实现翻页效果的例子. 首先,一个按钮要实现悬浮,就要用到系统顶级窗口相关的WindowManager,WindowManager.LayoutParams.那么在AndroidManifest.xml中添加权限: <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> 然后,我们要对WindowManager,WindowManager.Layout

  • vue 实现滚动到底部翻页效果(pc端)

    pc端vue 滚动到底部翻页 效果,具体内容如下所示: html: <div class="list" ref="scrollTopList"> <div class="listsmall" v-for="(item,index) of list" :key="index" @click="getDeviceInfo(item.id)"> <span cla

  • 解决android 显示内容被底部导航栏遮挡的问题

    描述: 由于产品需求,要求含有EditText的界面全屏显示,最好的解决方式是使用AndroidBug5497Workaround.assistActivity(this) 的方式来解决,但是华为和魅族手机系统自带的有底部导航栏,会造成一些布局被遮挡. 解决方案:在values-21的style.xml中添加android:windowDrawsSystemBarBackgrounds"并将值设置为false,方式如下 在style引用的主题里面加入android:windowDrawsSyst

  • Android开发快速实现底部导航栏示例

    目录 Tint 着色器 依赖(AndroidX) 布局 编写渲染颜色选择器-tint_selector_menu_color menu 文件中 icon-nav_bottom_menu BottomNavigationView的点击事件 配合ViewPager实现Tab栏 对应的适配器 Tint 着色器 优点:去除“无用”图片,节省空间 配合BottomNavigationView,实现一个快速,简洁的Tab栏 传统做法:Tab 切换,字体变色.图片变色.至少给我提供八张图,四张默认,四张选中,

  • Android实现底部导航栏效果

    目前网上主流的文章都是用底部的 RadioGroup + 页面部分的 Fragment 实现导航栏切换页面效果的. 然而底部的 RadioGroup 是如此麻烦,每个按钮的图片和文字部分都要做一个 selector 用于表示选中和非选中两种状态时的样式. 另外 Fragment 也有很多坑,先不管大家是否已熟练掌握,反正我是看着看着就学不下去了,所以我另辟蹊径用 Activity 的方式实现了伪 Fragment 的效果. 这里我们就来做一个三个按钮的底部导航栏. 因为我们这里是用三个 Acti

  • 使用RadioButton+Fragment实现底部导航栏效果

    底部导航栏,在我们App项目中是非常常用!而且实现它的方式很多,今天我们就来使用RadioButton+Fragment实现底部导航栏! 下面就让我们动手吧,首先我们打开RadioButtonDemo这个项目,首先修改activity_main.xml文件如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.androi

随机推荐