安卓Design包之AppBar和Toolbar的联用
2024-10-12 10:32:36
前面讲了Design包的的CoordinatorLayout和SnackBar的混用,现在继续理解Design包的AppBar;
AppBarLayout跟它的名字一样,把容器类的组件全部作为AppBar.
如:
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
app:theme="@style/Base.ThemeOverlay.AppCompat.Dark.ActionBar"
android:layout_height="wrap_content"> <android.support.v7.widget.Toolbar
app:layout_scrollFlags="scroll|enterAlways"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:id="@+id/main_toolbar"/> <TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="悬停条目"/> </android.support.design.widget.AppBarLayout>
这里就是把Toolbar和TextView放到了AppBarLayout中,让他们当做一个整体作为AppBar。
引用appBar的
app:layout_scrollFlags="scroll|enterAlways"
属性,则可实现下拉的时候不显示appbar,上拉的时候显示appbar。这个在用户交互上真的挺好用的。 再来看看可折叠的ToolBar
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
app:theme="@style/Base.ThemeOverlay.AppCompat.Dark.ActionBar"
android:layout_height="wrap_content">
<!--可折叠的toolbar-->
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:contentScrim="@color/colorPrimary"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
android:layout_width="match_parent"
android:layout_height="200dp"
app:layout_collapseMode="parallax"
android:src="@mipmap/ic_launcher"/> <android.support.v7.widget.Toolbar
app:layout_scrollFlags="scroll|enterAlways"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:id="@+id/main_toolbar"/> </android.support.design.widget.CollapsingToolbarLayout> <!--<TextView-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--android:text="悬停条目"/>--> </android.support.design.widget.AppBarLayout>
非常的简单。只需要在上面的代码中修改一下就可以了。
最新文章
- MVC5 CodeFirst (一)
- 【iCore3 双核心板】例程十:RTC实时时钟实验——显示日期和时间
- [原创]java WEB学习笔记95:Hibernate 目录
- 在Linux 5/6上使用UDEV SCSI规则配置ASM DISK
- python 可变参数
- windows下nginx+fastcgi不能使用file_get_contents/curl/fopen的原因
- MySQL purge log简单吗
- javascript Window对象 第16节
- Spring 3 + Quartz 1.8.6 Scheduler Example--reference
- DTO学习系列之AutoMapper(四)
- 基于注解的EF
- Swift构造函数(Initializer)和析构函数(Deinitializer)
- python汉字输出编码问题
- IEnumerable<;T>;和IQueryable<;T>;区分
- linux 安装 ftp 实现文件共享
- Laravel 中设置 Carbon 的 diffForHumans 方法返回中文
- [转]ZooKeeper学习第一期---Zookeeper简单介绍
- shell 的有用函数
- Ubuntu下使用git提交代码至GitHub
- xtrabackup拷贝redolog前做的细节操作