首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    其中, scroll 表示当RecyclerView向上滚动时,Toolbar会跟着一起向上滚动并实现隐藏; enterAlways 表示当RecyclerView向下滚动时...,Toolbar会跟着一起向下滚动并重新显示; snap 表示当Toolbar还没有完全隐藏或显示时,会根据当前滚动的距离,自动选择是隐藏还是显示。...解决方法: 传统情况下,使用偏移是唯一的解决办法, 即让RecyclerView向下偏移一个Toolbar的高度,从而保证不会遮挡到Toolbar。...其中, scroll表示当RecyclerView向上滚动时,Toolbar会跟着一起向上滚动并实现隐藏; enterAlways表示当RecyclerView向下滚动时,Toolbar会跟着一起向下滚动并重新显示...; snap表示当Toolbar还没有完全隐藏或显示时,会根据当前滚动的距离,自动选择是隐藏还是显示。

    2.1K10

    写给初学者的Jetpack Compose教程,Lazy Layout

    这个Fab按钮可以提供一些常用的便捷操作,但同时也会遮盖一部分界面,如果一直显示的话对于用户来说并不友好。...因此最好的设计方案就是,当用户向下滚动列表时,我们就认为用户不再需要和Fab按钮交互,此时将按钮进行隐藏。 下面具体看一下如何在Compose中实现这种效果。...其中AddButton()函数就是用于定义Fab按钮的,我们将它放置在了屏幕的右下角,并且它的显示状态是受到isVisible这个参数控制的。...最后在MainLayout()函数中将以上两个函数都包含进去,并加了一个布尔变量,只有firstVisibleItemIndex为0,也就是列表中第一个子项元素可见的时候,Fab按钮才显示。...这样,不管是对Lazy Layout中的元素进行添加、删除、甚至是重新排序,都不会导致多余的重组发生,性能也就大大提升了。 好了,关于Lazy Layout的性能提升技巧就介绍到这儿。

    65210

    Android 一款十分简洁、优雅的日记 APP

    DiaryLICE.gif 一、日记的展示 1、伪日记的处理 可以看到刚开始进入主页面,显示的是 今天,你什么都没写下......这个伪日记,其实只要是某一天没有写日记的话,界面最上面显示的就是这个,当我们写了日记之后,这个伪日记便会消失,讲道理一开始实现这个还真花了我不少心思,本来的思路是将这个伪日记作为 RecyclerView...这里附上一篇将 RecyclerView 讲的很不错的博客 RecyclerView 使用详解(一) 要想使用 RecyclerView来实现我们想要实现的效果,先让我们建立一个item_rv_diary...="normal" app:fab_title="FAB 2" app:fab_icon = "@drawable/save_new"...获取添加日记界面中日记的日期、标题以及具体的内容,然后将这些信息添加到数据库中 String date = GetDate.getDate().toString(); String

    66031

    Android Heroes Reading Notes 5

    (5)列表和卡片 RecyclerView和CardView是support-v7包中新添加的组件,使用它们需要引用依赖com.android.support:recyclerview-v7:x.y.z..., "fab")).toBundle()); 然后在B的onCreate方法中添加如下代码: //声明需要开启Activity过渡动画 getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS...前者是指波纹被限制在控件的边界,后者指波纹不会限制在控件边界中,会呈圆形发放出去。...:一种普通状态,另一种是展开状态 悬挂式Notification:在屏幕上方显示通知,且不会打断用户操作 三种类型的notification的使用如下所示: public void basicNotify...通知的显示等级 Android 5.x将通知分为了三个等级: VISIBILITY_PRIVATE:表明只有当没有锁屏的时候才会显示; VISIBILITY_PUBLIC:表明任何情况下都会显示; VISIBILITY_SECRET

    92210

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

    因为当我们的 Activty 被异常销毁时,Activity会对自身状态进行保存(这里面包含了我们添加的Fragment)。...而在Activity被重新创建时,又会对我们之前保存的 Fragment 进行恢复。 所以,添加 Fragment 前千万要记得去检查是否有保存的Activity状态。...如果containerViewId传0,则这个Fragment不会被放置在一个容器中。添加Fragment前检查是否有保存的Activity状态。...hide(Fragment fragment) 显示一个以前被隐藏过的Fragment。Fragment被hide/show,仅仅是隐藏/显示Fragment的视图,不会有任何生命周期方法的调用。...使用commitNow()时不能进行添加回退栈的操作,如果使用 addToBackStack(String)将会抛出一个 IllegalStateException的异常。

    2.8K30

    处理视觉冲突 | 手势导航 (二)

    自 API 1 以来,它们就以各种形式存在着,并且每当系统 UI 重叠显示在您的应用上方时,这个方法就会被调用。常见的例子是下拉状态栏和导航栏,或者弹出屏幕软键盘 (IME)。...在系统使用手势导航模式时 (即导航栏变成屏幕底部的一条粗线,也就是导航条),由于导航条有动态色彩调整功能,这个冲突可能不会那么明显。...注意,使用可点击区域里的数值进行布局时,依然可能导致自己的控件与系统 UI 在视觉上重叠,这一点与系统窗口区域 insets 不同,使用后者的值对自己的控件进行位移后能确保不会与系统/导航栏发生视觉重叠...这里让我们仍然使用 FAB 来举例: 注意看上图,在导航栏模式下,FAB 不会进入导航栏占据的高度 (48dp)。...这时使用稳定显示区域就可以确保自己的控件不会被 "突然出现" 的系统 UI 挡住。

    2.8K30

    使用导航组件: 对话框目的地 | MAD Skills

    然后在这个布局中,添加一个 TextView 并且限制它的四边边距使其保持在容器的正中间。结果应该看起来像下图: ?...尽管 MyDialog 事实上是一个 Dialog 对象,导航工具有时候不能准确地识别出来,而把它添加为一个 Fragment 目的地。这个结果绝不是我们所期望的。...点击按钮会打开一个非常矮小的带有文本占位符的对话框 您可能注意到对话框显示的尺寸要远比它在设计工具中看起来小得多 — 这是因为这个对话框的内容只有那个 TextView 占位符作为内容。...如果我们查看 DonutList 的代码,该 fragment 包含了那个展示列表数据的 RecyclerView,我们可以发现导航是如何被处理的。...其次,我们从 FAB 导航时 (不需要传递参数给 Directions 对象) 调用 navigate() 方法和从甜甜圈列表中任一列表项导航时 (需要传递 donut.id) 不太一样。

    1.4K30

    Android Material Design系列之FloatingActionButton和Snackbar

    FloatingActionButton的大小,有两种赋值分别是 “mini” 和 “normal”,默认是“normal”. app:backgroundTint:FloatingActionButton默认正常显示时的背景颜色...那我们现在就研究改如何在滑动列表时隐藏和显示这个悬浮按钮FloatingActionButton。...FloatingActionButton显示与隐藏 那如何实现滑动列表时,下滑显示和上滑隐藏的效果呢?...在这里我为了实现这个效果,给布局添加了一个RecyclerView,方法如下: /** * Created by loonggg on 2016/6/22. */ public class FloatingActionButtonScrollBehavior...添加icon和改变Snackbar的位置 修改了背景色,文字按钮颜色,是不是还不过瘾?看看我们如何在Snackbar上添加上一个icon图片。其实也非常简单,和修改样式的过程差不多。

    1.8K60
    领券