返回介绍

2. 总体设计

发布于 2024-12-23 22:32:12 字数 1318 浏览 0 评论 0 收藏 0

  • TabLayout 继承 HorizontalScrollView 天生就是一个可以横向滚动的 ViewGroup . 我们知道, HorizontalScrollViewScrollView 一样,最多只能包含一个子 View.
  • SlidingTabStrip 继承于 LinearLayout ,是 TabLayout 的内部类。它是 TabLayout 唯一的子 View. 所有的 TabView 都是它的子 View.
  • TabView 继承于 LinearLayout ,以 Tab 为数据源,来展示 Tab 的样式。最终用 for 循环被 add 进 SlidingTabStrip .
  • Tab 是一个简单的 View Model 实体类,控制 TabView 的 title, icon, custom layout id 等属性。
  • TabItem 继承于 View. 用于在 layout xml 中来描述 Tab. 需要注意的是,它不会 add 到 SlidingTabStrip 中去。它的作用是从 xml 中获取到 text,icon,custom layout id 等属性。TabLayout inflate 到 TabItem 并获取属性到装配到 Tab 中,最终 add 到 SlidingTabStrip 中的还是 TabView .
  • OnTabSelectedListener 是 TabLayout 中的内部接口,用于监听 SlidingTabStrip 中子 TabView 选中状态的改变。
  • Mode 是 TabLayout 滚动模式的描述,一共有两种状态。 MODE_FIXED 不可滚动模式,以及 MODE_SCROLLABLE 可以滚动模式。
  • GravityTabViewSlidingTabStrip 中 layout 方式的描述。分为:GRAVITY_FILL,GRAVITY_CENTER.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文