Android Tab实现


Android底部tab实现思路:


1、Viewpager实现底部Tab

思路:

     (1)、编写三个布局,底部分类布局(bottom.xml),顶部标题布局(top.xml),中间内容布局(中间放置                                   Viewpager控件),可以在一个主布局中引入顶部和底部布局使用include layout属性。 

     (2)、底部图片的切换效果可以分别设置背景图片以及字体颜色,首先需要全部置灰然后设置对应的色彩。

     (3)、使用Viewpager控件,添加List(View)数据集,View通过LayoutInflater导入到List 中。


2、Fragment实现底部Tab

思路:

     (1)、编写三个布局,底部分类布局(bottom.xml),顶部标题布局(top.xml),中间内容布局(中间放置                                  FrameLayout布局,设置高度0dp,weight=1填满头布局和尾布局剩余的空间部分),可以在一个主布                     局中引入顶部和底部布局使用include layout属性。 

     (2)、Fragment的使用方法,记得要将fragment.add(R.Framenlayout.id,fragment);

     (3)、如果导入的是v4.fragment的包的话,那么获取getSupportFragmentManagement(),如果获取的是                               android.app.Fragment那么获取的是getFragmentManagement()


3、FragmentPagerAdapter和Viewpager实现底部Tab

思路:

     (1)、编写三个布局,底部分类布局(bottom.xml),顶部标题布局(top.xml),中间内容布局(中间放置                                   Viewpager控件),可以在一个主布局中引入顶部和底部布局使用include layout属性。 

     (2)、底部图片的切换效果可以分别设置背景图片以及字体颜色,首先需要全部置灰然后设置对应的色彩。

     (3)、FragmentPagerAdapter的数据源是List(Fragment),并且设置ViewPager的监听事件,实现底部图片和中                     间内容的切换。


4、FragmentPagerAdapter和Viewpager实现底部Tab

思路:

      (1)、使用第三方开源库,viewpagerindicator

      (2)、如果有jar包冲突的话,先删除本工程的jar包,然后将引入的工程里的jar包复制导入一份到本工程的libs下                    面。

        视频链接:点击打开链接



注意事项:

1. github上搜索viewpagerIndicator: https://github.com/JakeWharton/ViewPagerIndicator
2. 下载zip包,解压,eclipse中import->Android Existing Code->(注意只导入解压后下面的Library)
3. 导入后标记为Property->Android->isLibrary
4. 将indicator下面的libs下的support-v4的jar包copy到主项目文件下的libs覆盖,否则会报version mismatch
5. 在主项目中property->Android->AddLibrary添加进来
6. ctrl+Alt+T试着将TabPagexxx的class搜索出来,说明项目已经成功导入











  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Tab 可以使用以下两种样式: 1. 顶部 Tab 样式: 在布局文件中使用 TabLayout 控件,然后在代码中为 TabLayout 添加 Tab,可以设置 Tab 的标题、图标等属性。可以使用 setCustomView() 方法自定义 Tab 的布局。 示例代码: ```xml <com.google.android.material.tabs.TabLayout android:id="@+id/tab_layout" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabGravity="fill" app:tabMode="fixed" /> ``` ```java TabLayout tabLayout = findViewById(R.id.tab_layout); tabLayout.addTab(tabLayout.newTab().setText("Tab1")); tabLayout.addTab(tabLayout.newTab().setText("Tab2")); tabLayout.addTab(tabLayout.newTab().setText("Tab3")); ``` 效果图: ![tab_layout](https://img-blog.csdnimg.cn/20211201160053611.png) 2. 底部 Tab 样式: 可以使用 BottomNavigationView 控件实现底部 Tab 样式,类似于微信、QQ 等应用的底部导航栏。 示例代码: ```xml <com.google.android.material.bottomnavigation.BottomNavigationView android:id="@+id/bottom_navigation_view" android:layout_width="match_parent" android:layout_height="wrap_content" app:menu="@menu/bottom_navigation_menu" /> ``` ```java BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navigation_view); bottomNavigationView.setOnNavigationItemSelectedListener(item -> { switch (item.getItemId()) { case R.id.menu_home: // 切换到首页 break; case R.id.menu_message: // 切换到消息页面 break; case R.id.menu_mine: // 切换到个人中心页面 break; } return true; }); ``` 效果图: ![bottom_navigation_view](https://img-blog.csdnimg.cn/20211201160230467.png)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值