• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 界面底部Tab实现,界面Tab实现

界面底部Tab实现,界面Tab实现

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了tab界面,loltab界面,android 底部tab,底部tab栏,底部tab等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

界面底部Tab实现,界面Tab实现


现在基本上大部分的手机APP都要实现底部Tab,底部实现Tab的实现方式有很多种,那么有没有好的实现方式呢?

今天我将使用一个开源插件来实现底部Tab

参考自zhangli_的博客:http://blog.csdn.net/zhangli_/article/details/52604699

效果图(大家如果有制作gif的好方法可以推荐给我)

 实现步骤如下:

1.添加依赖

2.在布局文件中添加tab容器

3.初始化UI

4.添加tab控制代码

 

1.添加依赖

compile ‘me.majiajie:pager-bottom-tab-strip:1.0.0’

2.在布局文件中添加tab容器

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainTestActivity">

    <me.majiajie.pagerbottomtabstrip.PagerBottomTabLayout
        android:id="@+id/boom_layout"
        app:elevation="8dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"/>

    <FrameLayout
        android:id="@+id/main_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@id/boom_layout" />

</RelativeLayout>

3.初始化UI

private void initView() {
        mHomePageFragment = HomePageFragment.newInstance();
        mMePageFragment = MePageFragment.newInstance();
        fragments = new Fragment[]{mHomePageFragment, mMePageFragment};
        // 将fragment添加到framlayout中,并显示第一个fragment
        getSupportFragmentManager().beginTransaction()
                .add(R.id.main_content, mHomePageFragment, mHomePageFragment.getClass().getName())
                .add(R.id.main_content, mMePageFragment, mMePageFragment.getClass().getName()).commit();
        //初始化底部导航栏
        PagerBottomTabLayout mBottomTabLayout = (PagerBottomTabLayout) findViewById(R.id.boom_layout);
        //构建导航栏,得到Controller进行后续控制
        mTabController = mBottomTabLayout.builder()
                .addTabItem(R.drawable.ic_menu_home, "首页", getResources().getColor(R.color.lightblue))
                .addTabItem(R.drawable.ic_menu_me, "我", getResources().getColor(R.color.lightblue))
                .setMode(TabLayoutMode.HIDE_TEXT | TabLayoutMode.CHANGE_BACKGROUND_COLOR)
                .setDefaultColor(getResources().getColor(R.color.black))
                .build();
    }

4.添加tab控制代码

    private void setOnClickListeners() {

        mTabController.addTabItemClickListener(new OnTabItemSelectListener() {
            @Override
            public void onSelected(int index, Object tag) {

                FragmentTransaction trx = getSupportFragmentManager().beginTransaction();
                trx.hide(mHomePageFragment).hide(mMePageFragment);
                if (!fragments[index].isAdded()) {
                    trx.add(R.id.main_content, fragments[index]);
                }
                trx.show(fragments[index]).commitAllowingStateLoss();

            }

            @Override
            public void onRepeatClick(int index, Object tag) {
            }
        });
    }

初始化UI和Tab控制的函数在Activity中调用就可以了

这样我们就生成了我们的底部Tab导航栏啦!!!

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 界面底部Tab实现,界面Tab实现

相关文章

  • 2017-05-26Android 手机卫士--是否有密码区分对话框类型,android卫士
  • 2017-05-26Apache Cordova开发Android应用程序——番外篇,cordovaandroid
  • 2017-05-26购物车动画(Android),购物车动画android
  • 2017-05-26Activity---Activity之间数据交流,activity之间传递数据
  • 2017-05-26Andriod中自定义Dialog样式的Activity点击空白处隐藏软件盘(Dialog不消失),andrioddialog
  • 2017-05-224.3.1 BroadcastReceiver牛刀小试
  • 2017-05-26java 接口的作用和好处,java接口好处
  • 2018-01-28揭开AssetBundle庐山真面目(二)
  • 2017-05-26安卓第十七天笔记--简易版本音乐播放器,安卓第十七天
  • 2017-05-26ViewPager结合view无限滑动,viewpagerview滑动

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 安卓学习----使用okHttp(get方式)---下载图片,
    • 再见NullPointerException。在Kotlin里null的处理(KAD 19),kotlinnull
    • android实现文字渐变效果和歌词进度的效果
    • 利用散列连接从DB2通用数据库获得最佳性能
    • 安卓应用反编译(二)-APK包反编译浅析
    • Android 中的长度单位详解
    • Android实用工具类-GrallyAndPhotoUtils图片处理工具
    • Android--实现ViewPager边界回弹效果(转),android--viewpager
    • android Handler介绍,androidhandler介绍
    • Android GreenDAO3.0——介绍,androidgreendao3.0

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有