10.应用的导航模式

第一章 概述

第一节 导航的基本类型

导航分成三种:

第一种选项卡导航;

image-20200824141356754

第二种底部导航栏;

image-20200824141346440

第三种导航抽屉;

image-20200824141335366

第二节 怎么学习样式与java 代码相互交互

1.先完成静态页面的布局,在学习静态页面的时候,将需要的属性详细记载,以及它什么会出现

2.动态代码更多的是选中,选中后怎么样,添加页面还是做Adapter,将view数组一次传进来

第二章 选项卡导航

第一节 静态布局

1.需要用到的组件

在我们开始正式介绍这些组件之前,我们先来,详细介绍包的兼容性查找

1.不管再怎么变,组件名是不会产生新的变化的,我们只是需要引入就好了

2.关于布局

image-20200824142820405

1.match_parent 拓展View用来填充父级View,Fragment或activity的可用空间

2.wrap_parent 将View的大小设置为包含视图内容所需的最小值

margin 外边距

padding 外边距

其他的详细,留着等以后,进行专门的讲解

3.组件

ViewPager组件 轮播组件

AppBarLayout是垂直的LinearLayout,它实现了材质设计应用程序栏概念的许多功能,即滚动手势。

ToolBar组件

工具栏比ActionBar支持更集中的功能集。从头到尾,工具栏可能包含以下可选元素的组合:

  • 导航按钮。这可能是向上箭头,导航菜单切换,关闭,折叠,完成或应用程序选择的另一个标志符号。此按钮应始终用于访问工具栏容器及其标志内容中的其他导航目标,或者以其他方式保留工具栏标志的当前上下文。导航按钮在工具栏的最小高度(如果已设置)内垂直对齐。
  • 品牌徽标图像。这可以延伸到杆的高度,并且可以任意地宽。
  • 标题和副标题。标题应该是工具栏在导航层次结构中的当前位置以及其中包含的内容的路标。字幕(如果存在)应指示有关当前内容的任何扩展信息。如果应用程序使用徽标图像,则应强烈考虑省略标题和副标题。
  • 一个或多个自定义视图。该应用程序可以向工具栏添加任意子视图。它们将出现在布局中的此位置。如果子视图的LayoutParams指示GravityCENTER_HORIZONTAL则在测量了所有其他元素之后,该视图的值将尝试在工具栏剩余的可用空间内居中。
  • action menu动作菜单将固定在工具栏的末尾,提供一些频繁,重要或典型的动作,以及用于其他动作的可选溢出菜单。操作按钮在工具栏的最小高度(如果已设置)内垂直对齐。

TabLayout组件 TabLayout提供了用于显示选项卡的水平布局。

image-20200824162624013

布局的机制:先开始,如果显示match_parent ,可能整个框都是没有显示的,因为都被第一个match_parent给占据了

这里有一个疑惑就是

image-20200824162843583

也就是ToolBar没有进行分解

https://forums.xamarin.com/discussion/173283/java-lang-illegalstateexcep-this-activity-already-has-an-action-bar-supplied-by-the-window-decor

image-20200824170017572

image-20200824170520204

setSupportActionBar设置一个Toolbar充当androidx.appcompat.app.ActionBar此“活动”窗口的。

当设置为非null值时,该getActionBar()方法将返回一个androidx.appcompat.app.ActionBar对象,该对象可用于控制给定的工具栏,就像它是传统的窗口装饰操作栏一样。工具栏的菜单将填充“活动”的选项菜单,导航按钮将通过标准home菜单选择动作进行连接。

设置该代码后

image-20200825090128650

toolbar 就会改变

第二节 动态java 代码

1.需要用到的函数

image-20200825090352614

image-20200825090426599

第三节 总结他们的类型

通过这一个的列子,我们知道这些数据时如何进行一些的操作交互的

第一步.viewpager 作为一个容器

第二步 我们采用adapter ,有不同的Adapter,穿进去不同的列表,比如视图adapter

比如fragment adapter

第三章 底部导航栏

第一节 静态页面

1.组件

layout_alignParentBottom只有Relativelayout拥有

BottomNavigationView 表示应用程序的标准底部导航栏。它是材质设计底部导航的一种实现。

image-20200825093405809

2.动态Java代码

image-20200825094726115

第四章 使用抽屉导航

第一节 静态实现

1.组件

NavigationView代表应用程序的标准导航菜单。菜单内容可以由菜单资源文件填充。 NavigationView通常放置在中DrawerLayout

需要两个

一个menu

一个header

2.java代码

1.setNavigationItemSelectedListener

2.ActionBarDrawerToggle onDrawerClosed

有一个问题

抽屉他的位置就是固定在旁边,只能通过设置header 的height 让他下来,目前为止,

但我已经看到他们通过设置标题栏 toolbar ,让标题栏隐藏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值