Android Material Design TabLayout属性app:tabMode和app: tabGravity

Android Material Design 中的TabLayout有两个比较有用的属性 app:tabMode、app:tabGravity,
(1)app:tabMode有两个值:fixed和scrollable。
(2)app:tabGravity有两个值:fill和center。
比较常用的是app:tabMode设置值scrollable,以及app:tabGravity设置值center。
比如,当app:tabMode设置值scrollable表示此TabLayout中当子view超出屏幕边界时候,将提供滑动以便滑出不可见的那些子view。
而app:tabGravity设置值center,在有些情况下,比如TabLayout中子view较少需要居中显示时候的情景。
现在给出一个例子加以说明。
测试的MainActivity.java:

package zhangphil.view;import android.app.Activity;
import android.os.Bundle;
import android.support.design.widget.TabLayout;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);TabLayout tabLayout1 = (TabLayout) findViewById(R.id.tabLayout1);TabLayout tabLayout2 = (TabLayout) findViewById(R.id.tabLayout2);TabLayout tabLayout3 = (TabLayout) findViewById(R.id.tabLayout3);TabLayout tabLayout4 = (TabLayout) findViewById(R.id.tabLayout4);for (int i = 0; i < 6; i++) {tabLayout1.addTab(tabLayout1.newTab().setText("卡" + i));tabLayout2.addTab(tabLayout2.newTab().setText("卡" + i));}for (int i = 0; i < 10; i++) {tabLayout3.addTab(tabLayout3.newTab().setText("卡" + i));tabLayout4.addTab(tabLayout4.newTab().setText("卡" + i));}}
}

MainActivity.java需要的布局文件activity_main.xml文件:

<?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="wrap_content"android:orientation="vertical" ><android.support.design.widget.TabLayoutandroid:id="@+id/tabLayout1"android:layout_width="match_parent"android:layout_height="wrap_content"app:tabGravity="fill"app:tabMode="fixed" /><android.support.design.widget.TabLayoutandroid:id="@+id/tabLayout2"android:layout_width="match_parent"android:layout_height="wrap_content"app:tabGravity="center"app:tabMode="fixed" /><android.support.design.widget.TabLayoutandroid:id="@+id/tabLayout3"android:layout_width="match_parent"android:layout_height="wrap_content"app:tabGravity="fill"app:tabMode="scrollable" /><android.support.design.widget.TabLayoutandroid:id="@+id/tabLayout4"android:layout_width="match_parent"android:layout_height="wrap_content"app:tabGravity="center"app:tabMode="scrollable" /></LinearLayout>

效果如图所示:

Android Material Design TabLayout属性app:tabMode和app: tabGravity相关推荐

  1. TabLayout使用介绍(com.google.android.material.tabs.TabLayout)

    TabLayout TabLayout的使用 一.控件库的导入 二.基本使用 activity_main.xml TabFragment.java MainActivity.java 三.TabLay ...

  2. Android Material Design简单使用 http://www.cnblogs.com/android-blogs/p/5632103.html

    Android Material Design简单使用 吐槽 作为一个 Android developer,没有什么比拿着 UI 设计的一堆 iOS 风格的设计 来做需求更恶心的了,基本所有空间都要照 ...

  3. Android Material Design 系列之 BottomNavigationView + ViewPager + Fragment + BadgeView 开发详解

    前言 BottomNavigationView 是 Material Design 提供的一个标准底部导航栏的实现,可以轻松的实现导航栏菜单之间的切换与浏览.底部导航使用户更方便的查看和切换最高层级的 ...

  4. com.google.android.material.tabs.TabLayout 选择tab 加粗字体加大

    引用: https://blog.csdn.net/qq_34906385/article/details/93524163 <com.google.android.material.tabs. ...

  5. Android Material Design :LinearLayoutCompat添加分割线divider

     Android Material Design :LinearLayoutCompat添加分割线divider Android Material Design 扩展支持包中的LinearLayo ...

  6. 视频教程-Android Material Design 新控件-Android

    Android Material Design 新控件 刘志远,北京邮电大学硕士研究生, 北京育华志远科技有限公司创始人, 育华志远教育品牌负责人,育华志远课程体系打造者. 率领团队为互联网行业培训千 ...

  7. Android Material Design Icon Genenerator 插件为个人开发者提供 Icon 图标大全

    前言 如果你作为个人开发者,没有美工小姐姐的情况下,项目中的图标 icon 很是苦恼.之前用过阿里巴巴图标库 Iconfont,后来发现 Android studio 中有一个很牛逼的 icon 插件 ...

  8. Android Material Design按钮样式

    本文翻译自:Android Material Design Button Styles I'm confused on button styles for material design. 我对材质设 ...

  9. android夜间模式揭露动画,Android Material Design系列之夜间模式

    今天我们讲讲夜间模式的实现,这篇文章的名字应该叫:<Android Material Design系列之夜间模式>.在Android 5.0 之后,实现夜间模式并非很难了,支持的5.0库提 ...

最新文章

  1. C#反射使用时注意BindingFlags的用法(转载)
  2. HTML5 drag drop 拖拽与拖放简介
  3. python手机版下载3.7.3-Python 3.7.0 来了!
  4. Ubuntu Server 上在安装Nginx时执行./confgiure后提示:C compiler cc is not found
  5. boost::signals2模块实现用于从槽返回值到信号调用的示例程序
  6. SpringBoot项目的application.properties放在Jar包外加载
  7. 空间数据库Spatial Tools的使用
  8. Android 调用12306接口,GitHub - AndroidyxChen/loading-12306: 仿PC端12306的刷新loading的自定义view...
  9. android微信预览pdf,网页的pdf、office链接安卓版面微信浏览器无法打开
  10. 数据科学:Oracle 并购 DataScience 公司提升机器学习能力
  11. flex 返回数据到 html5,Flex与javascript通信
  12. GetSpecialPath 获取应用程序当前目录
  13. debian 6安装postfix squirrelmail
  14. 2021-03-16 转自知乎专栏 https://zhuanlan.zhihu.com/p/24482664
  15. 微软私有云分享(R2)9-SCVMM R2和SP1界面的不同
  16. 抖音seo,抖音优化系统,抖音seo矩阵系统源码技术搭建
  17. 自监督学习经典之作:DINO
  18. Android权限请求第三方库的比较
  19. java 数字补零_java数字位数不足在前后补0
  20. [Debug] printf undefined reference to `putchar‘

热门文章

  1. matlab调用Java程序时出现 Java.lang.OutOfMemoryErrot: GC overhead limit exceeded
  2. iOS并行程序开发- GCD NSOperationQueue(1)
  3. C#基础-应用程序域
  4. Ruby实例方法和类方法的简写
  5. python学习笔记1-基础语法
  6. 51nod 1343 行列式的根
  7. LightOJ1283 Shelving Books(DP)
  8. 什么叫n+1次select查询问题?
  9. Windows7 支付宝证书安装方法
  10. vue3.x通过ref属性获取元素