TabLayout 的使用

TabLayout的总结 TabLayoutTabLayout+ViewPagerTabLayout+ViewPager2 TabLayout是一种和ViewPager搭配使用的一种控件 可以使文字标题和ViewPager里的内容相对应的切换 TabLayout+ViewPager 当TabLayout+ViewPager+FragmentPagerAdapter一起使用时 public class Main2Activity extends AppCompatActivity { private ViewPager vi 阅读详情
    以前我们要实现想腾讯视频,网易新闻的选项卡动态效果大多数都是使用自定义的 ViewPagerIndicator 配合ViewPager 。但谷歌推出 TabLayout 后,只需要使用的时候导入design 包即可
        implementation 'com.android.support:design:26.1.0'

    一、 先实现布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.design.widget.TabLayout
        android:id="@+id/tablayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabBackground="@color/white_FFFFFF"
        app:tabIndicatorColor="@color/select_color_000000"
        app:tabIndicatorHeight="@dimen/indicator_height_2dp"
        app:tabMode="fixed"
        app:tabTextAppearance="@style/TabLayoutTextStyle"
        app:tabSelectedTextColor="@color/select_color_000000"
        app:tabTextColor="@color/color_999999">

    </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.support.v4.view.ViewPager>

</LinearLayout>

    这里解释一下TabLayout 的一些属性:

    tabBackground : 标签栏的颜色

    tabIndicatorColor : 指示条的颜色

    tabIndicatorHeight : 指示条的高度

    tabMode  : 选项卡的行为模式  两种模式。一种是 scrollable  适用于当标签栏的数量多的时候,标签栏可以滑动,经个人测试,一般是标签栏5个以上适用于这个模式  第二种是 fixed 默认的设置,标签栏是固定的,不能滑动,很多的时候会发生挤压,当标签栏的个数小于等于5个的时候选择这个模式就很不错。

    tabSelectedTextColor : tab 被选中的时候的字体颜色

    tabTextColor : tab 未被选中的时候的字体的颜色

    tabTextAppearance :  设置字体的外观。 比如说设置字体的大小 

    <style name="TabLayoutTextStyle">
        <item name="android:textSize">@dimen/text_16_sp</item>
        <item name="android:textAllCaps">false</item>
    </style>

    二、OK,下面开始通过代码实现:

    private TabLayout mTabLayout;
    private ViewPager mViewPager;
    private List<String> titles = new ArrayList<String>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tablayout);
        intData();
        initView();
        initEvent();
    }

    private void intData() {
        titles.add("电影");
        titles.add("电视剧");
        titles.add("综艺");
    }

    private void initView() {
        mTabLayout = (TabLayout) findViewById(R.id.tablayout);
        mViewPager = (ViewPager) findViewById(R.id.viewpager);
    }

    private void initEvent() {
        for (int i = 0; i < titles.size(); i++) {
            mTabLayout.addTab(mTabLayout.newTab().setText(titles.get(i)));
        }
        List<Fragment> fragments = new ArrayList<Fragment>();
        for (int i = 0; i < titles.size(); i++) {
            fragments.add(new MyFragment());
        }
        MyFragmentPager fragmentPager = new MyFragmentPager(getSupportFragmentManager(), fragments, titles);
        // 给ViewPager 设置适配器
        mViewPager.setAdapter(fragmentPager);
        //  将TabLayout 和 ViewPager 关联起来
        mTabLayout.setupWithViewPager(mViewPager);
    }
    因为要使用ViewPager,首先要自定义一个Fragment,我自定义了一个Fragment ,代码如下:
public class MyFragment extends Fragment {
    View view;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.fragment_tablayout, container, false);
        return view;
    }
}

  其中fragment_tablayout.xml 里面只是有一个TextView。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:text="总有一个人让你拼了命的努力变好!"
        android:textSize="20dp" />
</LinearLayout>

    然后我们在主界面也自定义定义了一个MyFragmentPager,用于配合ViewPager 管理Fragment,代码如下:

public class MyFragmentPager extends FragmentStatePagerAdapter {

    List<Fragment> mFragments;
    List<String> mTitles;

    public MyFragmentPager(FragmentManager fm, List<Fragment> fragments, List<String> titles) {
        super(fm);
        mFragments = fragments;
        mTitles = titles;
    }

    @Override
    public Fragment getItem(int position) {
        return mFragments.get(position);
    }

    @Override
    public int getCount() {
        return mFragments.size();
    }

    /**
     * 设置标签栏的标题
     *
     * @param position
     * @return
     */
    @Override
    public CharSequence getPageTitle(int position) {
        return mTitles.get(position);
    }
}

    这个特别要注意一下getPagerTitle 方法,这里返回position 位置的PagerTab 的标题。跑下代码,效果如图:

    好了,上面就是tabLayout 配合ViewPager的基本使用了,下面我们扩展下。像网易云音乐的标签栏,并没有使用文字标题,而是使用的图片,那么我们怎样利用tabLayout的时候也使用图片呢?  我上面提到过 getPagerTitle() 方法,这个方法的返回的类型是 CharSequence。我们可以创建一个SpannableString,将图片放置在ImageSpan 中,设置在SpannableString中,我们改下MyFragmentPager 的代码:

public class MyFragmentPager extends FragmentStatePagerAdapter {

    List<Fragment> mFragments;
    List<String> mTitles;
    Context mContext;
    int[] mImages;

    public MyFragmentPager(Context context, FragmentManager fm, List<Fragment> fragments,
                           List<String> titles, int[] images) {
        super(fm);
        mFragments = fragments;
        mTitles = titles;
        mContext = context;
        mImages = images;
    }

    @Override
    public Fragment getItem(int position) {
        return mFragments.get(position);
    }

    @Override
    public int getCount() {
        return mFragments.size();
    }

    /**
     * 设置标签栏的标题
     *
     * @param position
     * @return
     */
    @Override
    public CharSequence getPageTitle(int position) {
        Drawable image = ContextCompat.getDrawable(mContext, mImages[position]);
        image.setBounds(0, 0, image.getIntrinsicWidth(), image.getIntrinsicHeight());
        SpannableString sb = new SpannableString(" ");
        ImageSpan imageSpan = new ImageSpan(image, ImageSpan.ALIGN_BOTTOM);
        sb.setSpan(imageSpan, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        return sb;
    }
}
    可以看到我们的这个MyFragmentPager 的构造函数发生了变化,而此时我们也要更改下主界面的传参,代码如下:
    private TabLayout mTabLayout;
    private ViewPager mViewPager;
    private int[] images;
    private List<String> titles = new ArrayList<String>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tablayout);
        intData();
        initView();
        initEvent();
    }

    private void intData() {
        titles.add("电影");
        titles.add("电视剧");
        titles.add("综艺");
        images = new int[]{R.mipmap.teleplay, R.mipmap.movie, R.mipmap.shows};
    }

    private void initView() {
        mTabLayout = (TabLayout) findViewById(R.id.tablayout);
        mViewPager = (ViewPager) findViewById(R.id.viewpager);
    }

    private void initEvent() {
        for (int i = 0; i < titles.size(); i++) {
            mTabLayout.addTab(mTabLayout.newTab().setText(titles.get(i)));
        }
        List<Fragment> fragments = new ArrayList<Fragment>();
        for (int i = 0; i < titles.size(); i++) {
            fragments.add(new MyFragment());
        }
        MyFragmentPager fragmentPager = new MyFragmentPager(this, getSupportFragmentManager(), fragments, titles, images);
        // 给ViewPager 设置适配器
        mViewPager.setAdapter(fragmentPager);
        //  将TabLayout 和 ViewPager 关联起来
        mTabLayout.setupWithViewPager(mViewPager);
    }

   这里是那三个图片的资源:    电影     电视剧    综艺   ,效果如下:

    有时候客户可能并不满足于这样简单的样式,而是想要在TabLayout 的标签上展现各式各样的内容,这时候我们就需要自定义View 来实现了。TabLayout 中有一个方法 setCustomView(),可以通过调用这个方法来加载我们自定义的View,进而实现我们想要的各式各样的标签。OK,我们先自定义一个Tab 的样式,创建一个 item_tab_style.xml 文件,图片在上,文字在下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">

    <ImageView
        android:id="@+id/iv_tab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@mipmap/movie" />

    <TextView
        android:id="@+id/tv_tab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="电影"
        android:textSize="@dimen/text_16_sp" />

</LinearLayout>

    然后在代码中将这个布局加载进去,完整的代码如下:

    private TabLayout mTabLayout;
    private ViewPager mViewPager;
    private int[] images;
    private List<String> titles = new ArrayList<String>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tablayout);
        intData();
        initView();
        initEvent();
    }

    private void intData() {
        titles.add("电影");
        titles.add("电视剧");
        titles.add("综艺");
        images = new int[]{R.mipmap.teleplay, R.mipmap.movie, R.mipmap.shows};
    }

    private void initView() {
        mTabLayout = (TabLayout) findViewById(R.id.tablayout);
        mViewPager = (ViewPager) findViewById(R.id.viewpager);
    }

    private void initEvent() {
        for (int i = 0; i < titles.size(); i++) {
            mTabLayout.addTab(mTabLayout.newTab().setText(titles.get(i)));
        }
        List<Fragment> fragments = new ArrayList<Fragment>();
        for (int i = 0; i < titles.size(); i++) {
            fragments.add(new MyFragment());
        }
        MyFragmentPager fragmentPager = new MyFragmentPager(this, getSupportFragmentManager(), fragments, titles, images);
        // 给ViewPager 设置适配器
        mViewPager.setAdapter(fragmentPager);
        //  将TabLayout 和 ViewPager 关联起来
        mTabLayout.setupWithViewPager(mViewPager);

        for (int i = 0; i < titles.size(); i++) {
            mTabLayout.getTabAt(i).setCustomView(getTabView(i));
        }

        // 添加TabLayout 的监听
        mTabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                changeTabStatus(tab, true);
            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {
                changeTabStatus(tab, false);
            }

            @Override
            public void onTabReselected(TabLayout.Tab tab) {

            }
        });
    }

    /**
     * 获取自定义布局
     *
     * @param postion
     * @return
     */
    private View getTabView(final int postion) {
        final View view = LayoutInflater.from(this).inflate(R.layout.item_tab_style, null);
        ImageView ivTab = (ImageView) view.findViewById(R.id.iv_tab);
        TextView tvTab = (TextView) view.findViewById(R.id.tv_tab);
        ivTab.setImageDrawable(ContextCompat.getDrawable(this, images[postion]));
        tvTab.setText(titles.get(postion));
        return view;
    }

    /**
     * 在标签页状态改变的时候更改状态
     *
     * @param tab
     * @param selected
     */
    private void changeTabStatus(TabLayout.Tab tab, boolean selected) {
        View view = tab.getCustomView();
        final ImageView imgTitle = (ImageView) view.findViewById(R.id.iv_tab);
        TextView txtTitle = (TextView) view.findViewById(R.id.tv_tab);
        imgTitle.setVisibility(View.VISIBLE);
        if (selected) {
            txtTitle.setTextColor(getResources().getColor(R.color.select_color_000000));
        } else {
            txtTitle.setTextColor(getResources().getColor(R.color.color_999999));
        }
    }

    这样就实现了标签自定义View,最后看一下我们的实现效果:

    好了,上面就是tabLayout 的一些具体的实现。


Android控件-TabLayout使用介绍 TabLayout简述简单示例属性介绍tabIndicatorFullWidthtabRippleColortabTextAppearancetabModetabIndicatorColortabIndicatorHeighttabIndicatorGravity 简述 TabLayout是Android support中的一个控件android.support.design.widget.Tab... 阅读详情

相关推荐

AndroidX TabLayout使用、扩展及解析All In One

这里有两种方式添加TabItem的自定义布局,其一种方式是在TabItem的xml中定义android:text=“娱乐” />custom_indicator1.xml文件内容,值得注意的是这里的TextView的id必须是“@android:id/text1”,ImageView的id必须是“@android:id/icon”,原因来自于与TabLayout的源码中TabView的update方法。

2401_84009929的博客 1088

Android原生TabLayout使用全解析,看这篇就够了

前言 为什么会有这篇文章呢,是因为之前关于TabLayout的使用陆陆续续也写了好几篇了,感觉比较分散,且不成体系,写这篇文章的目的就是希望能把各种效果的实现一次性讲齐,所以也有了标题的「看这篇就够了」。 TabLayout作为导航组件来说,使用场景非常的多,也意味着要满足各种各样的需求。 在效果实现上,有很多同学都选择自定义View来做,定制性高,但易用性、稳定性、维护性不敢保证,使用官方组件能避免这些不确定性,一是开源,有很多大佬共建;二是经过大型app验证,比如google play;有了这两点,基本

yechaoa 4万+

Android TabLayout的使用详解

效果图: TabLayout一般是结合ViewPager+Fragment的使用实现滑动的标签选择器。 我这个是在Toolbar中实现的标签切换,接下来我会讲解主要实现步骤: 1.布局界面main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.a

路宇的博客 1万+

学习笔记:TabLayout 全面总结

一、简介 TabLayout提供了一个水平布局用于展示tabs,继承自HorizontalScrollView。一般与Viewpager结合使用实现页面和标签联动的效果,是时下APP中非常常用的一个控件 二、基本用法 1. 添加design依赖 compile 'com.android.support:design:25.3.1' 2. xml引用 1. xml中添...

编码之路 2万+

华为手机连接Win11失败?内核隔离与驱动签名冲突的终极解决指南

在Windows操作系统中,驱动程序是硬件与系统通信的桥梁,其数字签名机制是保障系统内核安全的核心防线。基于虚拟化的安全技术通过强制验证驱动签名,能有效隔离恶意代码,提升系统抵御高级威胁的能力。然而,严格的签名策略有时会与部分硬件驱动产生兼容性问题,导致设备无法识别,直接影响文件传输、应用调试等核心工作流。本文聚焦于华为手机在开启Windows 11内核隔离功能时出现的连接故障,深入剖析驱动签名验证与Hypervisor保护的代码完整性原理,并提供从驱动更新、策略调整到无线替代方案的完整解决路径,帮助用户在

weixin_31309419的博客 348

风控IV、AUC、KS python计算代码

df_temp:数据集,Y:是否逾期标签,feas_list:需要计算IV的 变量。2、 按月和不同Y 下的 IV计算。

暮雨听轩的专栏 1617

TabLayout的简单使用

我们在应用viewpager的时候,经常会使用TabPageIndicator来与其配合。达到很漂亮的效果。但是TabPageIndicator是第三方的,而且比较老了,当然了现在很多大神都已经开始自己写TabPageIndicator来满足自己的需求,在2015年的google大会上,google发布了新的Android Support Design库,里面包含了几个新的控件,其中就有一个T

我本无名的专栏 14万+

如何在OBS中添加实时时间戳:Lua脚本配置教程(附效果展示)

本文详细介绍了如何在OBS中通过Lua脚本配置实时时间戳功能,包括环境准备、脚本获取、安装配置及高级定制。适用于直播和视频录制场景,提供精准回溯和风格自定义,支持多平台适配和性能优化,是专业制作的必备技巧。

day7的博客 1040

Android 使用TabLayout遇到的一些问题,及TabLayout的使用

TabLayout提供了一个水平的布局用来展示Tabs Design库:AS有直接的引用 现在就可以直接使用 1.最简单的demo &lt;android.support.design.widget.TabLayout android:id="@+id/tablayout" android:layout_width="match_parent" android...

小白新人 1808

QMK固件OLED显示屏配置教程:从零开始实现个性化键盘显示(实操部分)

本教程详细介绍了如何从零开始配置QMK固件的OLED显示屏,实现个性化键盘显示。首先,文章解释了OLED显示屏的基本概念及其在键盘中的应用,并介绍了I2C和SPI两种通信方式。接着,教程逐步指导用户如何在QMK固件中启用OLED功能,包括在rules.mk中启用OLED、在halconf.h和mcuconf.h中配置I2C功能,以及在config.h中设置I2C和OLED参数。最后,教程展示了如何在keymap.c中编写代码,实现OLED显示内容,并提供了进阶定制功能,如显示当前层信息、按键状态和QMK L

Despacito0o的博客 578

TabLayout,使用小结

什么是TabLayout ? TabLayout provides a horizontal layout to display tabs.[google] TabLayout是一个用于放置水平Tab的布局你可以设置文字,icon,甚至是自定义的View

清风徐来的博客 6966

手把手教你学Simulink--基于Simulink的移相全桥DC-DC变换器仿真建模

特点高效性:通过实现零电压开关(ZVS)减少开关损耗。电气隔离:使用变压器提供输入输出间的电气隔离。适用于中高功率应用:如服务器电源、工业电源等。挑战控制复杂度:精确控制相位差以实现软开关。元件选择:合适的电感、电容值对于性能至关重要。动态响应:快速响应负载变化,保持稳定的输出电压。首先明确要模拟的任务内容。设计一个能够支持特定输入输出电压比的PSFB变换器。根据工作频率和谐振元件值确定合适的电路参数。实现有效的控制策略来维持输出电压稳定,并实现软开关。

MHD0815的博客 518

TabLayout的使用

TabLayout简介 TabLayout就是类似网易新闻、礼物说等APP的头部滚动标题栏。是2015年google发布新的android design support中的新增控件,是android官方控件。类似控件有ViewPagerIndicator,不过ViewPagerIndicator是第三方控件。 TabLayout使用                  1.导入库文件

sinat_33561793的博客 749

建行报专版报道建设银行金融科技发展历程

经过十多年的建设,总行前中后台部门都有了自己的业务系统,但系统“部门”特征显著,渠道、客户、产品的横向整合不足,产品系统层次化、结构化、参数化程度不高,渠道支持产品快速部署以及跨渠道服务能力不足,管理分析类系统建设相对滞后,系统较弱的可扩展能力在应对高速增长的交易量时已疲态尽显,同时安全稳定运行的压力和风险日益积聚。站在新的历史起点上,科技条线将聚焦主责主业,完善信息科技管理体系,紧紧围绕安全生产中心任务,持续推动技术能力复用共享和自主可控,为全行做好金融五篇大文章,推动业务高质量发展提供技术支撑。

银行信息系统应用架构详解 383

一文读懂5G网络整体架构(接入网+承载网+核心网)

接入网重构分级(分工更细、效率更高)、承载网三段化升级(管道更宽、更智能)、核心网服务化云化(管理更灵活、成本更低)最终实现“成本最优、资源灵活、场景适配”,才能支撑自动驾驶、工业互联网、智慧城市、VR/AR等各种新场景,真正走进我们的生活。

鲸落寰宇 427

TabLayout单独使用

布局显示:     xmlns:tools="http://schemas.android.com/tools"     xmlns:app="http://schemas.android.com/apk/res-auto"     android:orientation="vertical"     android:layout_width="match_parent"    

guoleisb10的博客 4571

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

tabLayout结合viewPager使用时tabLayout不显示

tabLayout结合viewPager使用时tabLayout不显示问题解决方案 一般tabLayout结合viewPager使用的代码都是这样写的 public class MainActivity extends AppCompatActivity { private static final String TAG ="MainActivity" ; List&lt;MyFr...

qq_40909351的博客 898

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

TabLayout使用

第一步:输入design就能出来 布局: &amp;amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;amp;gt; &amp;amp;lt;LinearLayout android:orientation=&amp;quot;vertical&amp;quot; xmlns:android=&amp;

天王盖地虎 321

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

tablayout简单使用

gradle中添加依赖 *compile'com.android.support:design:26+' /** * 1--写tablayout * 2--- 写viewPager * 3-- 写viewPagerAdapter * 4-- 让TabLayout和Viewpager关联; */ 布局文件代码 xml version="1.0" encoding="ut

ZhaoJingCong4880的博客 428

Tablayout的简单使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 在项目中使用viewpager的时候大多数都是和TabPagerIndicator结合使用,TabPagerIndicator是第三方的,使用起来比较繁琐; 2015谷歌大会官方发布了TabLayout,可以很简单很完美的实现这种效果; 因为是官方发布的,所以使用起来不用任何第三方的东西;而且非常简单明了;

钟铭 564

TabLayout——浅谈

TabLayout——浅谈  TabLayout是Google新推出(其实好久了。。。)的一个组件,在android5.0的之后的应用中被广泛应用,最近做的一个项目当中也使用到,所以抽空花点时间,整理总结一番。 TabLayout是什么?  TabLayout是一个用来横向显示Tab组件的布局。用来显示Tab组件非常方便,是Android应用中使用最广泛的布局组件之一。 TabLayout的基本用法

不悔的青春 2153

Kotlin使用TabLayout

Kotlin使用Tablayout 1.导入依赖包 implementation “com.google.android.material:material:1.0.0” 2.xml文件里使用 com.google.android.material.tabs.TabLayout 3.使用app:属性时会报红,注意添加xmlns:app=“http://schemas.android.com/apk/res-auto” 这里的app就是和我们自定义view时用的declare-styleable类似,没研究…

luoyanda的博客 1921

tablayout 的使用

<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/...

LYR 的博客 323

TabLayout使用详解

1、需求 TabLayout+Viewpager+Fragment,在tab中显示一个红点,用来标识是否有新消息未读,需要实时刷新。又或者tab中显示的内容需要自定义,不止显示文字,文字还需要不同的背景变换。 2、TabLayout相关属性 2.1 、 继承关系 直接父类是 HorizontalScrollView 横向滑动的ScrollView 2.2 、 和viewpager关联使用 最重要的使用方法:setupWithViewPager (ViewPager viewPager) 2.3

jinrucsdn的专栏 1715
上一篇: 上传一个Android studio 项目需要忽略的内容
下一篇: NavigationView 的使用
谦行
博客等级 码龄11年 182粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值