首页
学习
活动
专区
圈层
工具
发布

Android--Toolbar基本使用

有几点要注意的(这边使用的v7包的Toolbar,由于继承Activity已经过时,但如果实在想继承Activity的话,使用v4包下的Toolbar): 1.App主题使用NoActionBar 2....Activity需要继承AppCompatActivity 3.在代码中调用setSupportActionBar方法替换Actionbar 在xml中使用Toolbar: 在代码中设置属性,也可以在xml中使用app:属性名 直接设置 public class MainActivity extends AppCompatActivity...,always表示一直显示,never表示一直放入overflow中(右侧更多图标的按钮),ifRoom表示如果显示不下,则放入overflow中,定义好xml后,需要在Activity中改写onCreateOptionsMenu...方法获取xml解析器,在这里可以绑定点击事件,也可以通过Toolbar的setOnMenuItemClickListener方法设置,效果: ?

1.8K30

Material Design 实战 之第四弹 —— 卡片布局

其中, scroll 表示当RecyclerView向上滚动时,Toolbar会跟着一起向上滚动并实现隐藏; enterAlways 表示当RecyclerView向下滚动时...,Toolbar会跟着一起向下滚动并重新显示; snap 表示当Toolbar还没有完全隐藏或显示时,会根据当前滚动的距离,自动选择是隐藏还是显示。...其中, scroll表示当RecyclerView向上滚动时,Toolbar会跟着一起向上滚动并实现隐藏; enterAlways表示当RecyclerView向下滚动时,Toolbar会跟着一起向下滚动并重新显示...; snap表示当Toolbar还没有完全隐藏或显示时,会根据当前滚动的距离,自动选择是隐藏还是显示。...当用户需要操作Toolbar上的功能时,只需要轻微向下滚动,Toolbar就会重新出现。

2.7K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Fusionapp基础文档

    基础控件ID //各控件ID searchEdtTxt 搜索栏 toolbar.parent 顶栏 toolbar 标题栏 bmBarLin...(View.VISIBLE) --隐藏悬浮按钮 fltBtn.setVisibility(View.GONE) 注:fltBtn为悬浮按钮的ID,不需要更改。...); //视频解析播放 加载网页("vip解析url"..webView.getUrl()); --横屏 activity.setRequestedOrientation(0); --竖屏 activity.setRequestedOrientation...还有个问题就是不同标签加载的网页会进行缓存,根据上述方式只能让当前标签的网址进入夜间模式,其他标签的网址页面还是没进入夜间模式,暂时我是用定时器每隔500毫秒判断一次来解决这个问题的...应该有更好的办法...--几天后 文章上边增加了【所有标签网站下加入js】的方法,用了他就可以不用定时器方案了! linkCard('.post-content','0');

    2.3K10

    Android谈谈封装那些事--BaseActivity和BaseFragment(一)

    说到封装我们首先想到的就是面向对象,以前脑子里对于面向对象的认识就是封装、继承、多态,随着自己真正进入开发工作之后,慢慢的才有了更深的认识;其实最深的一次是在和朋友交流的过程中他给了我很大的启发,所以技术交流其实还是很重要的...举一个最简单的例子:我们在写一个activity的时候,我们可以把属性宏观理解为各种组件以及一些我们用的参数,然后把我们的处理业务逻辑的代码写到自己的方法中,基本上所有的类都是这样,属性-方法搞到一起,...同时封还装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据。。...在某些很简单的情况下,或许我们不使用多态也能开发出满足我们需要的程序,但大多数情况,如果没有多态,就会觉得代码极其难以维护。同时也补缺了Java中单继承的不足。...Event放到BaseEventMap中,需要讨论的问题是就是这样的话就导致了所有的activity都订阅了事件总线,一个post发布之后,所有activity都会监听到,然后通过Event的类型进行判断

    2.7K30

    项目需求讨论-标题栏上的搜索功能

    正好仔细的讲解了下SearchView和Toolbar。希望大家看看我哪里是不是讲错了。哈哈。 ? 1.先抛开搜索功能,我们看如何单纯实现下图的标题栏的界面: ?...因为返回按钮有二种方式来进行处理显示,我们分别来说明: 在Activity中写上代码: Toolbar toolbar = (Toolbar) findViewById(R.id.common_toolbar...(v -> finish()); }复制代码 在Activity中获取到了Toolbar的对象,然后设置Navigation图标及Navigation的点击事件即可。...同样在是在Activity中写上代码: //先让返回箭头出现 Toolbar toolbar = (Toolbar) findViewById(R.id.common_toolbar); setSupportActionBar...中对当前Activity中添加,声明该Activity的父Activity是哪个,然后按返回的时候就跳到那个父Activity中。

    1.7K10

    咱真的了解 Activity 与 Fragment 生命周期吗?

    Fragment 切换时的生命周期顺序: ---- Activty 与 Fragment 生命周期执行顺序 基本的在 Activity 中添加 Fragment 的代码就不上了,和尚我觉得直接上日志来的更清楚...总结一下,其实时很容易理解的,Fragment 是依赖与 Activity 的,创建时优先执行 Activity 生命周期,销毁时优先执行 Fragment 生命周期。...和尚我个人理解,replace 方式切换 Fragment 时,每次执行 replace 方式就会销毁上一个已存在的 Fragment,即 Activity 中只包含一个 Fragment。...如果以此方式在 Activity 中只加载两个 Fragment,简化如下: 初始化 Activity 与 (两个) Fragment,并切换至后台: ?...当然如果加载很多 Fragment 时不止用到 hide/show 方式,还要涉及 Fragment 的懒加载等。 ? 效果图 FragmentAK ? 效果图 FragmentBK ?

    1.4K41

    第14章 使用Kotlin 进行 Android 开发(1)第14章 使用Kotlin 进行 Android 开发(1)

    一般来说,在 Fragment 中应至少重写下面3个生命周期方法: onCreate() 当创建 Fragment 实例时,系统回调的方法。...在该方法中,需要对一些必要的组件进行初始化,以保证这个组件的实例在 Fragment 处于 pause或stop 状态时仍然存在。...onCreateView() 当第一次在 Fragment 上绘制UI时,系统回调的方法。...当执行一个 Fragment 事务时,也可以将该 Fragment 加入到一个由宿主 Activity 管辖的后退栈中,并由 Activity 记录加入到后退栈的 Fragment 信息,按下后退键可以将...通常我们加载布局的任务都是在 Activity 中调用 setContentView() 方法来完成的。

    3.1K30

    一个简单的页面加载管理类(包含加载中,加载失败,数据为空,加载成功)

    在最近公布的比赛框架中,发现了页面加载管理类,觉得挺有用的,所以做个简单的笔记。 什么是页面加载管理类呢?...我们一般在写网络请求的时候,如果不涉及什么MVP,或者别的,就一个简单网络请求,然后再成功的结果里刷新View,请求过程中总不能白屏吧,所以有些人可能会让转一个圈,或者显示加载中的布局,然后等成功后再隐藏掉...{ /**加载中的view*/ private View loadingView; /**加载失败的view*/ private View errorView; /**加载数据为空的view...();/*请求数据然后刷新View*/ } /** * 请求服务器的数据,然后根据加载的数据刷新View */ private void loadDataAndRefreshPage()...这个布局就不用写了,就是你自己要显示的布局 那么具体在代码中如何使用呢,我们看下面这个Demo。

    1.7K40

    Android - 仿网易云音乐歌单详情页

    网易云音乐App原图.gif 模仿的效果图: ? 模仿的效果图.gif 建议大家直接看CloudReader项目应用里的效果,里面的内容部分有加载中的loading图,效果更逼真。...Toolbar的背景) 4、上下滑动,通过NestedScrollView拿到移动的高度,同时调整Toolbar的背景图透明度 1、Activity设置自定义元素共享切换动画 大家可以发现页面跳转时图片移动的是一个曲线路径...:因为加载图片要一点时间,切换页面时就会出现闪烁的情况,而如果取的是缓存就不会有这样的问题,所以这里有个小技巧,就是起初Glide加载的图片就指定固定的大小(.override(120,120)),这样图片就会被缓存起来...这里值得注意的是在设置图片时不要设置加载中的图片,不然初始化时达不到透明的效果。...效果体验几乎是一样,其中涉及到的知识点有:1、页面跳转共享元素曲线动画;2、透明状态栏;3、Glide监听图片加载状态和加载固定大小图片等;4、NestedScrollView在Api23下的滑动兼容。

    1.5K10

    Android 沉浸式状态栏 以及 伪沉浸式状态栏

    前段时间整理过一篇 Android 沉浸式状态栏的多种样式,现在和尚我在稍微的补充一下,都是在日常应用中测试整理的。...Tips2: 若配合打开代码中注释的两行,整体的效果是隐藏掉状态栏高度,标题栏上移,如图2所示,在其他相应的场景下很有用。...---- Toolbar 标题栏 和尚我花了不少时间在以前的博客中,大家可以移步审查一下。现在和尚又用了一种方式,主要是为了满足实时网络更换主题图,采用 背景主题色+透明图层 方式。...以下是和尚加载一张图片的 Toolbar 方式: 在 Toolbar 外添加一层 LinearLayout 作为背景主题色涂层,Toolbar 添加背景图,而 Toolbar 的位置宽高等均可按需求定义,并配合上面刚提到的 Tips2 方式处理以下

    1.7K41

    Android开发笔记(一百一十九)工具栏ToolBar

    在项目中引入Toolbar 因为Toolbar与ActionBar都占着顶部导航栏的位置,所以要想引入Toolbar就得先关闭ActionBar啦,具体步骤如下所示: 1、在styles.xml中定义一个不包含...导航图标在工具栏图标左边。 setNavigationOnClickListener : 设置导航图标的点击监听器。 setOverflowIcon : 设置溢出菜单的按钮图标。...SearchAutoComplete控件,该控件在旧SearchView中是隐藏的,在新SearchView中是开放的,所以我们可随意修改v7编辑框的显示风格。...方法在旧SearchView中是隐藏的,在新SearchView中是开放的,所以旧控件只能传递搜索文本给结果页面,而新控件允许传递其他的额外信息给搜索结果页面。...2、溢出菜单列表在菜单文字左侧显示图标的方法,使用ActionBar时正常,使用Toolbar时反而不会显示图标了。

    2.4K30

    CoordinatorLayout使用(四):和Toolbar的简单使用

    主观任务,大体也就是material design中用来替代3.x的actionbar 在v7包中,需要gradle依赖一下 具体可以参考 鸿洋大神的博客 ---- Toolbar简单前提条件...在style中添加,隐藏原来的actionbar 一般会写一个style,用的时候,继承它即可 false 在Activity中,设置一下 把Toolbar当成ActionBar (当然可以设置标题,副标题,Logo,NavigationIcon等) (也可以在xml中设置,这里略) Toolbar...enterAlwaysCollapsed: 代码中枚举SCROLL_FLAG_ENTER_ALWAYS_COLLAPSED 当你的视图已经设置minHeight属性又使用此标志时,你的视图只能已最小高度进入...这个时候,我们想做一个pending的TabLayout 滑动的时候,隐藏上面的Toolbar 于是, AppBarLayout中,Toolbar下面,添加一个TabLayout Toolbar添加

    1.7K30

    最详细的 Android Toolbar 开发实践总结

    接下来,我们就一步一步的来看如何使用 Toolbar (其实是我使用 Toolbar 踩坑填坑的血泪史,你们接下去看,我先擦个眼泪…. )。...首先,在布局文件 activity_tool_bar.xml 中添加进我们需要的 Toolbar 控件 ?...下面有几个代码里面需要注意的地方: 我们在使用 Toolbar 时候需要先隐藏掉系统原先的导航栏,网上很多人都说给Activity设置一个NoActionBar的Theme。...; Toolbar和其他控件一样,很多属性设置方法既支持代码设置,也支持在xml中设置(这里也是最最最最最坑爹的地方,如何坑爹法,请接着往下看); Toolbar 踩坑填坑 坑一:xml布局文件中,Toolbar...在编译器没报错又不见效果的情况下,参考了其他开发者的用法后找到了以下的解决方案,就是在根布局中加入自定义属性的命名空间 ?

    1.1K20

    ❤️【Android精进之路-03】创建第一个Android应用程序竟然如此简单❤️

    在欢迎页面点击New Project按钮。 进入下一个界面之后选中Basic Activity 按钮,创建一个基本视图的Android应用。...应用加载完成之后项目HelloWorld的目录结构如下图所示: 程序加载没问题之后,就可以设置一个模拟器,操作步骤如下图所示,这里我设置了Nexus S API 30和Pixel2 API 30...两个模拟器,每个模拟的尺寸都不相同。...它是应用的入口,当您构建和运行应用时,系统会启动此Activity的实例并加载其布局, public class MainActivity extends AppCompatActivity {...,是整个项目的配置资源,里面配置的内容包括当前应用程序所在的包,应用程序中的Activity,应用程序的访问权限等等。

    94700

    Android 单元测试和 UI 测试初步实践

    Android 测试代码位置 在 Android Studio 中新建新的项目时,它已自动为两种测试类型创建了对应的代码目录: 单元测试用例:位于 module-name/src/test/java 目录下...--> mView.showNews(news); --> mView.hideProgress(); // 在数据加载完后隐藏进度条 对应着,实际编写 P 层的单元测试用例的时候,并不需要一个真实的数据源...,所以在代码前两行笔者通过 Mockito 的 when() 方法,在程序调用 DataManager#getNews() 方法时返回一个空的 NewsResultBean 实例。...NewsDetailActivity,主要功能是加载 intent 传递过来的新闻标题和新闻原文地址,然后在 Toolbar 中显示新闻标题,在 Webview 中加载此新闻。...对应着,实际编写测试代码的时候,可以构造一个测试用的 intent,在 intent 中加入需要的测试数据,然后启动这个 activity,检查数据是否正确即可。

    2.3K10

    Android如何实现超级棒的沉浸式体验

    难点在于: 头部的背景图在推上去的过程中,慢慢的变得不可见了,整个区域的颜色变成的暗黑色,然后标题出现了。 StatusBar变的透明,且空间可以被利用起来,看我们的图片就顶到了顶 了。...1、头部背景和标题的渐隐渐现 首先,我们来分析第一个问题,头部的背景图在推上去的过程中,慢慢的变得不可见了,这种听起来好像是某种collapse,因此,很容易让人想到CollapsingToolbarLayout...,发现Toolbar中的TextView根本就不能使用android:layout_gravity="center"这种属性好吧,即使强行加上,效果也是靠左的。...在代码中,需要动态的改变这个View的高度为statusBar的高度,怎么获取: /** * 获取状态栏高度 * * @param context context...> 4、底部控件随着列表的滑动渐渐隐藏 可以看到,底部的控件是覆盖在列表上的,列表向上滑动的时候,把他隐藏,就可以空出更多的控件看列表。

    3K252

    详谈Android之MVP开发模式

    ,然后就了解到了MVP模式,这种模式View层与Model层完全分离的,从而减轻了Activity的负担。...Paste_Image.png 从图中可以清晰地看出:它们有一个比较明显的区别就是,MVC中是允许Model和View进行交互的;而MVP中很明显,Model与View之间的交互由Presenter完成...,并且Presenter与View之间的交互是通过接口的,换句话说:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter来进行的,所有的交互都发生在Presenter内部。...(); //清空用户名 密码 void clearUsername(); void clearPassword(); //显示 隐藏加载 void showLoading(); void hideLoading...getUsername(); String getPassword(); //清空用户名 密码 void clearUsername(); void clearPassword(); //显示 隐藏加载

    78240

    用 CoordinatorLayout 处理滚动

    snap:使用这一选项将由其决定在 view 只有部分减时所执行的功能。如果滑动结束时 view 的高度减少的部分小于原始高度的 50%,那么它将回到最初的位置。...我们需要用一个点击事件来触发显示和隐藏。注意:由于这个已知的 issue,因此不要尝试在OnCreate() 方法中展开底部表。...Grafixartist Bottom Sheet Tutorial - 关于在底部表滑动时如何定位 floating action button 以及对其使用动画的教程。...如果你在使用 behavior 时遇到了问题,请查看下面的建议: 关于如何高效使用 CoordinatorLayout 的例子请仔细参考 cheesesquare 源码。...在一个使用了内部有 items 列表的 ViewPager 的 fragment 和一个父 activity 之间使用协调时,你想像这里描述的那样在ViewPager 上添加 app:layout_behavior

    5.3K92
    领券