tablayout

Android开发之TabLayout使用

戏子无情 提交于 2020-03-23 11:33:43
3 月,跳不动了?>>> 1,在app的build.gradle引入: implementation 'com.android.support:design:28.0.0' 2,在布局文件中添加 <com.google.android.material.tabs.TabLayout android:layout_width="match_parent" android:layout_height="wrap_content" app:tabMode="scrollable"/> 其中tabMode分scrollable和fixed,可滑动和填充。 3,添加Tab:mTabLayout.addTab(mTabLayout.newTab().setText("tab")) ; 以上界面即可显示出数据 和ViewPager搭配:mTabLayout.setupWithViewPager(viewPager); 此时 Tab 的文字会和 viewPager 的 Adapter 做关联,需要在 Adapter 里重写 getPageTitle 方法 @Nullable @Override public CharSequence getPageTitle(int position) { return "123"; } 设置tab字体颜色: tab_news.setTabTextColors

android锚点优化

元气小坏坏 提交于 2020-02-03 04:45:36
首先看效果 先说关键点 tabLayout选中的时候滑动到指定锚点 由scrollview主动引起的滑动,滑动的指定区域,选中那个指定tabLayout 由于上述两个步骤会引起相互调用,所以要判断scrollview滑动是主动引起的还是点击tabLayout引起的,涉及到利用反射给tabLayout的tab添加onClick点击监听 项目中的LinearLayout的子元素之间的分隔符用到了系统提供的以下属性 android:showDividers="middle|end" android:divider="@drawable/divider_item" 使用方法给百度LinearLayout分隔符 部分代码 关键点1代码 tab_layout . addOnTabSelectedListener ( new TabLayout . OnTabSelectedListener ( ) { @Override public void onTabSelected ( TabLayout . Tab tab ) { int position = tab . getPosition ( ) ; int top = 0 ; switch ( position ) { case 0 : top = ll_first . getTop ( ) ; break ; case 1 : top =

TabLayoutViewPagerDemo【TabLayout+ViewPager可滑动】

北战南征 提交于 2020-01-20 21:25:29
版权声明:本文为 HaiyuKing 原创文章,转载请注明出处! 前言 使用TabLayout搭配ViewPager实现可滑动的顶部选项卡效果。 效果图 代码分析 1、演示常规的设置。 2、通过自定义ViewPager(MyCustomViewPager)解决解决切换需要经过中间页的问题、实现控制viewpager是否可滑动的功能; 3.1、通过在Fragment中的OnCreateView中判断rootView是否为空来解决viewpager+fragment来回滑动fragment重新加载的问题; 3.2、还有一个方案是在自定义的viewpager适配器类中重写destroyItem方法,来解决重新加载的问题; 【核心就是不销毁fragment】 4、通过自定义Fragment基类(BaseLazyFragment)来实现配合viewpager使用时禁止懒加载的功能; 存在一个问题:那就是当选项卡比较多的时候,从首页切换到尾页,然后切换回来首页的时候,会重新请求数据,因为首页已经销毁了,执行了onDestroyView方法。 解决方案: 一、使用setOffscreenPageLimit()方法, 设置数字越大越好(可以设置总数目); 二、采用3.2方案; 使用步骤 一、项目组织结构图 注意事项: 1、 导入类文件后需要change包名以及重新import R文件路径 2、

使用android support library中的tablayout实现页签切换效果出现的问题

柔情痞子 提交于 2020-01-07 19:15:43
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Tablayout出现之前,由于google不再推荐使用tabActivity来实现页签切换的效果,或是那种页签切换满足不了我们实际的使用要求,因此出现了第三方的库:PagerSlidingTabStrip,viewpagerindicator等,使用上很方便; 后来,google官方提供了PagerTabStrip和PagerTitleStrip,效果上还是不尽如人意,直到最近,推出了design包,包含了tablayout来替代我们以前自定义的tablayout,然后就有很多人来进行开发,比如: http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0731/3247.html 使用很方便,集成也较容易,甚至自定义tab布局也可以。 我此处说的问题如下: 1.实现效果: 这是一个很常见的效果,初步的效果是:每个页签为自定义的布局--文字描述居下,图标居上;切换页签时,变换文字即可; 2.实现步骤: a.布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns

Android tabLayout+recyclerView实现锚点定位

我是研究僧i 提交于 2019-12-28 18:16:02
原文链接: https://mp.weixin.qq.com/s/L3o2i3WTmg1ScXEYDS8YCg 在上一篇文章 Android 实现锚点定位 中,我们介绍了 tablayout + scrollView 实现的锚点定位,今天我们使用 tablayout + recyclerView 来实现同样的效果。 效果图: 实现思路 实现的思路与上一篇文章是一致的: 1、监听 recyclerView 滑动到的位置, tablayout 切换到对应标签 2、 tablayout 各标签点击, recyclerView 可滑动到对应区域 数据模拟 数据模拟,使用上一文章的 AnchorView 作为 recyclerView 的每个字view,同时这里对 recyclerView 的最后一个子view的高度进行修改,让其充满屏幕。 private LinearLayoutManager manager; private String[] tabTxt = {"客厅", "卧室", "餐厅", "书房", "阳台", "儿童房"}; //判读是否是recyclerView主动引起的滑动,true- 是,false- 否,由tablayout引起的 private boolean isRecyclerScroll; //记录上一次位置,防止在同一内容块里滑动

关于android.support.design.widget.TabLayout无法使用

别等时光非礼了梦想. 提交于 2019-12-05 03:09:06
Android Studio3.5,可能是新版本Android,无法使用 android.support.design.widget.TabLayout,因此选择 com.google.android.material.tabs.TabLayout。 如果是xml文件中报错,首先注意MainActivity中引入的是哪个tablayout包,我发现自己引入的是Google的,因此在xml中也使用了Google的tablayout,解决了错误。 配置文件中引入: implementation 'com.android.support:support-v4:29.0.2' implementation 'com.android.support:design:29.0.2' activity_main.xml中部分代码 <com.google.android.material.tabs.TabLayout android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="80dp" android:background="#ffffff" app:tabIndicatorColor="@color/design_default_color_primary" app

Fragment + ViewPager +TabLayout

独自空忆成欢 提交于 2019-12-04 18:27:30
1.添加依赖 com.android.support:design:25.3.1 2.XML布局文件 <android.support.design.widget.TabLayout android:id="@+id/TabLayout" android:layout_width="match_parent" android:layout_height="wrap_content" ></android.support.design.widget.TabLayout> <android.support.v4.view.ViewPager android:id="@+id/ViewPager" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/TabLayout"></android.support.v4.view.ViewPager> 3.代码实现 public class MainActivity extends AppCompatActivity { private TabLayout mTabLayout; private ArrayList<Fragment> mList = new ArrayList<>(); private

Android控件之Toolbar + DrawerLayout的使用

巧了我就是萌 提交于 2019-12-04 18:21:29
载请标明出处: http://blog.csdn.net/u011974987/article/details/50963495 ; 最近闲着没事儿,在关注一些遵循最新的Material Design设计规范的应用和效果,感觉很高大上;一直都没有去尝试过Material Design的一些新控件,很多还是不熟悉的,所以最近就写Demo 来熟悉下这些控件的使用,接下来使用官方支持库来快速实现这类效果,需要使用到Toolbar和DrawerLayout,如果你还不知道这两个Widget,先去google看下文档吧~,详细步骤如下: 1、首先需要添加appcompat-v7支持: 如果是在Android Studio 2.1 Preview3 上创建的项目,默认已经添加了appcompat-v7和design支持了,如果不是最新版AndroidStudio则需要在build.gradle中添加如下代码: dependencies { compile fileTree( dir : 'libs' , include: [ '*.jar' ]) compile 'com.android.support:appcompat-v7:23.2.0' compile 'com.android.support:design:23.2.0' } 然后同步一下Gradle去下载。 2

android ------ AndroidX的 Tablayout(com.google.android.material.tabs.TabLayout) 的使用

≡放荡痞女 提交于 2019-12-03 12:03:42
前面呢,有写过TabLayout的博客,最近开发用到了AndroidX来解决前面的问题,不要工具类设置下划线的问题了,来总结一下 Android--------TabLayout实现新闻客户端顶部导航栏 Android中Tablayout设置下划线宽度 和 dp和px之间进行相互转换 AndroidX效果图 首先添加依赖: 以前的是 implementation 'com.android.support:design:28.0.0' 换成 implementation "com.google.android.material:material:1.0.0" 现在的TabLayout有2种添加Item的方式 第一种和以前的差不多 <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:tabMaxWidth="0dp" app:tabIndicatorColor="@color/colorAccent" app:tabSelectedTextColor="@color/colorPrimary"

TabLayout header hides first item on a ListView in a fragment

匿名 (未验证) 提交于 2019-12-03 10:10:24
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: i've got my Android skills a bit rusty, and i hope someone can help me with this. I've got a TabLayout with a ViewPager to swipe the same Fragment with different data in a ListView . Everything is working ok, but I've got a problem. The tabs header text hides a part of the Fragment , causing the first element of the ListView being hiden behind. I really have tried to find a solution for this problem but i couldn't, I'm sure it must be something simple but no solution. If you need more info, please ask. I've got this activity layout: <android