TabLayout替换ViewPagerIndicator
参照文章: http://chenfuduo.me/2015/07/30/TabLayout-of-design-support-library/
1.build.gradle关联库,需要在联网的情况下做
compile 'com.android.support:design:22.2.1'
2.在布局文件中使用TabLayout,即把TabPagerIndicator替换成TabLayout
<android.support.design.widget.TabLayout
android:id="@+id/tabpage_indicator"
android:layout_width="wrap_content"
style="@style/MyCustomTabLayout"
android:layout_height="wrap_content"
android:layout_weight="1" />
3.设置样式(不能没有样式)
style="@style/MyCustomTabLayout"
<style name="MyCustomTabLayout" parent="Widget.Design.TabLayout">
<item name="tabMaxWidth">@dimen/tab_max_width</item>
<item name="tabMinWidth">72dp</item>
<item name="tabIndicatorColor">#0000FF</item>
<item name="tabIndicatorHeight">3dp</item>
<item name="tabPaddingStart">8dp</item>
<item name="tabPaddingEnd">8dp</item>
<item name="tabBackground">@android:color/white</item>
<item name="tabTextAppearance">@style/MyCustomTabTextAppearance</item>
<item name="tabSelectedTextColor">@android:color/holo_red_light</item>
</style>
<style name="MyCustomTabTextAppearance" parent="TextAppearance.Design.Tab">
<item name="android:textSize">14sp</item>
<item name="android:textColor">@android:color/black</item>
<item name="textAllCaps">false</item>
</style>
4.关联ViewPager
//TabLayout关联ViewPager
tabLayout.setupWithViewPager(vp_news_menu_detail);
//一定要设置设置滚动模式
tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
5.在适配器中重写getPageTitle方法
@Override
public CharSequence getPageTitle(int position) {
return children.get(position).getTitle();
}
6.自定义Tab的效果
6.1 设置Tab的效果步骤一,在适配器中重写getTabView()方法
public View getTabView(int position){
View view = LayoutInflater.from(mActivity).inflate(R.layout.tab_item, null);
TextView tv= (TextView) view.findViewById(R.id.textView);
tv.setText(children.get(position).getTitle());
ImageView img = (ImageView) view.findViewById(R.id.imageView);
img.setImageResource(R.drawable.dot_focus);
return view;
}
要写布局如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="3dp" />
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true" />
</LinearLayout>
6.2调用 getTabView 方法
//自定义Table布局要结合适配器中的getTabView方法
for (int i = 0; i < tabLayout.getTabCount(); i++) {
TabLayout.Tab tab = tabLayout.getTabAt(i);
tab.setCustomView(mAdapter.getTabView(i));
}
如果不调用就没有效果
相关推荐
首先,创建一个继承`TabLayout.ViewPagerIndicator`的类,重写其中的方法来绘制指示器。然后,通过`tabLayout.setTabIndicatorFactory()`设置自定义的指示器工厂。 ```java tabLayout.setTabIndicatorFactory(new ...
在Android开发中,`TabLayout`是谷歌提供的一个用于实现底部标签导航的组件,常见于应用的多个页面切换。在很多设计中,`TabLayout`的下划线样式需要根据需求进行定制,以达到与整体界面风格一致的效果。本篇文章将...
在XML布局文件中,使用`<com.yourpackage.ModifyTabLayout>`替换`<androidx.appcompat.widget.TabLayout>`,然后设置自定义的属性。在代码中,可以像常规TabLayout一样使用,只需记得调用`setupWithViewPager()`...
2. **覆盖`TabLayout`的默认样式**: 在自定义的`TabLayout`中,通过`setCustomTabView()`方法,我们可以替换默认的`TabView`,从而控制下划线的显示。在这个`TabView`中,我们可以将自定义的指示器设置为`Tab`的背景...
在Android开发中,`TabLayout`是谷歌支持库提供的一种组件,用于展示多个标签页,通常与`ViewPager`配合使用,实现滑动切换不同页面的效果。`TabLayout`的标题右上角添加数字标记是一种常见的需求,这可以用来指示...
在不导入特定Library的情况下实现`ViewPagerIndicator`,我们可以利用Android自带的`TabLayout`,它是`Design Support Library`的一部分。`TabLayout`提供了多种风格的Tab指示器,能够很好地与`ViewPager`配合使用。...
Android Tablayout 自定义Tab布局的使用案例 Android Tablayout 是 Android 设计库中的一部分,主要用于实现标签页功能。Tablayout 中的 Tab 可以自定义布局,以满足不同的需求。本文将 introduction 了 Android ...
TabLayout是Android开发中常用的组件,它主要用于在应用中创建标签式导航,让用户可以方便地在不同的页面或视图之间切换。本篇文章将深入探讨TabLayout的多种使用方法,帮助开发者充分利用这一强大的工具来提升用户...
在Android开发中,`TabLayout`和`ViewPager`是两个常用的组件,它们通常结合使用来实现页面间的切换和标签导航。本案例提供了`TabLayout`与`ViewPager`完整集成的实例,开发者可以直接运行源码进行学习和应用。下面...
在安卓应用开发中,TabLayout 是一个非常常用的组件,它用于在顶部展示多个标签页,让用户可以方便地在不同页面间切换。这个“安卓好看的tablayout动画(国外的)”资源,显然提供了一种独特且设计精良的TabLayout...
在`TabLayout`中添加自定义标签,你可以使用`TabLayout.addTab(TabLayout.Tab tab)`方法,并通过`TabLayout.Tab.setText(String text)`和`TabLayout.Tab.setIcon(Drawable icon)`方法来设置标签的文字和图标。...
在Android开发中,`TabLayout`是一个非常常用的组件,它用于创建顶部标签栏,可以方便地与`ViewPager`配合实现页面间的切换。本教程将详细讲解如何使用`TabLayout`结合`Fragment`来构建一个左右切换时文字颜色渐变的...
在Android开发中,TabLayout是谷歌提供的一个用于创建标签页的UI组件,它与ViewPager结合使用,能够方便地实现页面间的切换。而“tablayout实现fragment侧滑”是指利用TabLayout和Fragment配合,使得用户可以通过在...
**Android Studio 中的 TabLayout 知识点详解** 在 Android 应用开发中,TabLayout 是一个非常常用的设计元素,它允许用户通过标签页来切换不同的视图或内容区域。通常,TabLayout 与 ViewPager 结合使用,为用户...
在Android开发中,`TabLayout`和`Fragment`是构建多标签、动态切换内容界面的常见组件。`TabLayout`是Google Material Design设计规范的一部分,它提供了美观且易于使用的标签栏,而`Fragment`则用于在Activity中...
implementation 'com.google.android.material:material:版本号' // 替换为最新版本 ``` 最新版本可以在Google的Maven仓库中找到。 2. **基本使用** 创建一个TabLayout实例,通常是在XML布局文件中: ```xml ...
在Android开发中,`TabLayout`是一个非常常用的组件,它被设计用来展示多个Tab标签,通常与`ViewPager`配合使用,以实现滑动切换不同页面的效果。本项目以`TabLayout`为主题,通过`TabLayout+ViewPager`的组合,帮助...
TabLayout和NavigationView是Material Design组件库中的两个重要元素,它们分别用于实现底部标签导航和侧滑菜单。本文将深入探讨如何在Android应用中有效地联合使用这两个组件。 TabLayout是Android支持库中的一个...
确保替换“版本号”为当前最新的稳定版本。 `TabLayout`的基本使用步骤如下: 1. 在布局文件中添加`TabLayout`: ```xml <android.support.design.widget.TabLayout android:id="@+id/tab_layout" android:...
在Android应用开发中,`ToolBar`和`TabLayout`是两个非常重要的组件,它们用于构建用户界面中的导航和页面切换。`ToolBar`通常作为应用程序的顶部栏,展示应用的标题和一些操作按钮;而`TabLayout`则常用于实现底部...