Android --- TabLayout 每一个选项卡前面加图标

上一张效果图,简单明了

在这里插入图片描述

直接上代码,图片自己替换
ActivityFragment.java


public class ActivityFragment extends Fragment {

    private View view;
    TabLayout tabLayout;

    @Nullable
    public View onCreateView(@NonNull LayoutInflater inflater,
                             @Nullable ViewGroup container,
                             @Nullable Bundle savedInstanceState) {

        view = inflater.inflate(R.layout.fragment_activity,container,false);
        new_tab();
        initView();
        initData();
        initEvent();
        return view;

    }

    private void new_tab(){
        tabLayout = view.findViewById(R.id.tab);
        tabLayout.addTab(tabLayout.newTab().setCustomView(tab_icon("周边",R.mipmap.yixin_icon)));
        tabLayout.addTab(tabLayout.newTab().setCustomView(tab_icon("路线",R.mipmap.collection1)));
        tabLayout.addTab(tabLayout.newTab().setCustomView(tab_icon("导航",R.mipmap.mine1)));

    }
    private View tab_icon(String name,int iconID){
        View newtab =  LayoutInflater.from(getContext()).inflate(R.layout.icon_view,null);
        TextView tv = (TextView) newtab.findViewById(R.id.tabtext);
        tv.setText(name);
        ImageView im = (ImageView)newtab.findViewById(R.id.tabicon);
        im.setImageResource(iconID);
        return newtab;
    }

    public void initView() {}
    public void initData() {}
    public void initEvent() {}

}

所对应的 xml

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

    <com.google.android.material.tabs.TabLayout
        android:id="@+id/tab"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:layout_gravity="left" >
    </com.google.android.material.tabs.TabLayout>
</RelativeLayout>

以上部分源码借鉴度娘,记不清博主是谁了,如有侵权,请转告我链接地址

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: Android TabLayout样式是指TabLayout控件的外观和布局样式。TabLayout是一种常用的布局控件,用于在应用程序中创建选项卡式的导航界面。TabLayout样式可以通过修改TabLayout的属性、使用自定义布局文件、设置TabLayout的背景、字体、颜色等方式来实现。常见的TabLayout样式包括:默认样式、滑动样式、图标样式、自定义样式等。通过设置TabLayout的样式,可以使应用程序的界面更美观、易用。 ### 回答2: Android TabLayout是Android官方提供的一个用于实现选项卡式导航的控件,可以用于切换不同的页面或功能模块。TabLayout的样式可以通过自定义来实现不同的效果。 首先,可以通过设置TabLayout的背景颜色、文字颜色、字体大小等属性来改变其样式。可以使用setTabTextColors()方法设置选项卡的默认文字颜色和选中文字颜色,使用setTabBackground()方法设置选项卡的背景颜色。还可以使用setTextSize()方法设置选项卡文字的字体大小。 其次,可以通过自定义选项卡的布局和样式来改变TabLayout的样式。可以通过调用setCustomView()方法在选项卡添加自定义布局,可以在布局中添加图片图标或其他控件来增选项卡的可视效果。还可以使用setTabMode()方法设置选项卡的显示模式,可以选择平均宽度显示或者自适应内容宽度显示。 另外,还可以通过设置TabLayout与ViewPager的关联来改变样式。可以通过调用setupWithViewPager()方法将TabLayout和ViewPager关联起来,实现页面切换时选项卡的联动效果。可以通过调用setSelectedTabIndicatorColor()方法设置选中选项卡的指示器颜色,使用setSelectedTabIndicatorHeight()方法设置指示器的高度。 总之,Android TabLayout的样式可以通过设置背景颜色、文字颜色等属性,通过自定义布局和设置显示模式来实现不同的效果。通过与ViewPager关联,还可以实现选项卡的联动效果。开发者可以根据自己的需求自定义TabLayout的样式,使其更符合应用的主题和风格。 ### 回答3: TabLayout是Android支持库中的一个控件,用于实现标签切换功能。它可以很方便地实现多个标签页的切换和显示。 在TabLayout中,我们可以通过一些方法来自定义其样式。 首先,可以通过设置TabLayout的属性来调整整体样式,如背景颜色、文字颜色、下划线颜色等。我们可以在代码中使用setBackgroundColor()方法来设置背景颜色,使用setTabTextColors()方法来设置文字颜色,使用setSelectedTabIndicatorColor()方法来设置下划线颜色。 其次,还可以自定义每个标签的样式。通过创建自定义的布局文件,并在代码中使用setCustomView()方法将布局文件与每个标签绑定。这样我们就可以自由地设计标签的布局和样式,包括文字大小、图标、背景颜色等。 另外,我们还可以使用IconTabLayout库来实现更丰富的样式。IconTabLayout库是一个开源库,提供了多种标签样式,如带有图标的标签、带有角标的标签等。我们可以通过引入该库,根据需求选择合适的标签样式,并进行自定义调整。 总的来说,通过TabLayout提供的属性设置和自定义布局文件,我们可以实现各种样式的TabLayout,满足不同项目的需求。同时,借助IconTabLayout库,我们还可以扩展更多的样式选择,并进行更自由的定制。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梁同学与Android

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值