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

    Material Design 在 Android 中的应用

    在分享时能将每个知识点都有个透彻而又完整的分析,不要追求速度。实话说这次分享确实给我带了不少的收获,相信在下次分享中能够有一个满意的表现。...越读越能感受到它的妙处,假如你能严格按照它的规范进行开发项目,哪怕你不是专业的UI设计师,相信你的产品一定会不难看的。 那接下来就主要介绍一下Material Desing在Android中应用。。...3. scroll|enterAlwaysCollapsed 当ScrollView向下滑动时,DependentView先折叠到最小高度(这里是0),然后将事件交给ScrollView,当ScrollView...6. scroll|enterAlways|snap 这个snap就是在上面的基础上多了一个回弹的效果,当DependentView正在滑动,此时手指离开屏幕时,DependentView会自动移动到离自己较劲的终点或者始点...Material Design 在「口袋」中的应用 其实在咱们的「口袋贵金属」项目中也到找到很多MD的元素。 首先是点击的水波纹效果: ? 其次是交易圈的滑动交互: ?

    1.3K20

    CoordinatorLayout+AppBarLayout实现上滑隐藏ToolBar-Android M新控件

    原因是:它是组织它众多子view之间互相协作的一个ViewGroup。 CoordinatorLayout 的神奇之处就在于 Behavior 对象。怎么理解呢?...CoordinatorLayout使得子view之间知道了彼此的存在,一个子view的变化可以通知到另一个子view,CoordinatorLayout 所做的事情就是当成一个通信的桥梁,连接不同的view...> 上述布局文件中,ToolBar标记了layout_scrollFlags滚动事件,那么当LinearLayout滚动时便可触发ToolBar中的layout_scrollFlags效果 即往上滑动隐藏...来看看TabLayout的三种实现方式: 固定的Tab,根据TabLayout的宽度适配 ? 固定的Tab,在TabLayout中居中显示 ? 可滑动的Tab ?...并且给这些组件设置如下属性来告诉CoordinatorLayout,该组件是带有滑动行为的组件,然后CoordinatorLayout在接受到滑动时会通知AppBarLayout 中可滑动的Toolbar

    2.2K30

    什么是面向对象编程?OOP 深入解释

    当实例化单个对象时,这些对象可以调用类中定义的方法。在下面的代码片段中,bark方法是在Dog类中定义的,bark()方法是在Rufus对象上调用的。...Dog出勤属性对于在月底为所有者开具账单很重要。 方法是程序员提高可重用性并将功能封装在对象中的方式。这种可重用性在调试时是一个很大的好处。如果有错误,只有一个地方可以找到并修复它,而不是很多。...它继承bark()父Dog类中定义的方法。 当代码调用fluffy.bark()方法时,该bark()方法沿着子类链向上到父类,以找到bark定义该方法的位置。...通过仅显示选定的数据片段并仅允许通过类访问数据和通过方法修改数据,我们可以保护数据免于暴露。继续以汽车为例,您在开车时不希望打开油箱。...多态允许同一个方法以两种方式执行不同的行为:方法覆盖和方法重载。 方法覆盖 运行时多态性使用方法覆盖。在方法覆盖中,子类的实现方式可能与其父类不同。

    1.2K10

    Snackbar-Android M新控件

    Snackbar 是 Android design support library 中的另一个组件。...使用 Snackbar,可以在屏幕底部快速的显示一条消息,大体与 Toast 相同,但多了几分灵活性: 一小段时间之后、或者用户与屏幕触发交互,Snackbar 会自动消失; 可以包含一个可选的操作;...Snackbar使用的时候需要一个控件容器用来容纳Snackbar.官方推荐使用CoordinatorLayout这个另一个Android Support Design Library库支持的控件容纳。...同时按照文档中描述: 在项目的 view 中添加 CoordinatorLayout,可以支持 snackbar 的更多特性,比如滑动消失,和 FAB 的自动移动。...比如: snackbar.getView().setBackgroundColor(colorId); 下面是ColoredSnackbar类,它封装了一些方法,可以根据用户指定的类型显示不同背景颜色。

    77730

    Android开发笔记(一百三十四)协调布局CoordinatorLayout

    使用CoordinatorLayout时,要注意以下几点: 1、导入design库; 2、根布局采用android.support.design.widget.CoordinatorLayout; 3、...ViewGroup,实现效果类似于RelativeLayout,若要指定子视图在整个页面中的位置,有以下几个办法: 1、使用layout_gravity属性,指定子视图在CoordinatorLayout...其中app:layout_anchor表示当前以哪个视图做为参照物,app:layout_anchorGravity表示本视图相对于参照物的对齐方式。...: 1、FloatingActionButton会悬浮在其他视图之上,即使别的视图在布局文件中位于FloatingActionButton后面; 2、在隐藏、显示按钮上时会播放动画;其中隐藏操作是调用hide...活用提示窗Toast和Snackbar》; 下面是悬浮按钮自隐藏和显示时的动画效果截图: ?

    2.2K30

    深入浅出 NavigationUI | MAD Skills

    概述 在之前的 导航系列文章中,Chet 开发了一个用于 跟踪甜甜圈的应用。知道什么是甜甜圈的最佳搭档吗?(难道是另一个甜甜圈?) 当然是咖啡!所以我准备增加一个追踪咖啡的功能。...当处于 selectionFragment 的时候,我们希望标题可以被更新并且显示返回按钮。...比如,当您在最顶层的目的页面时,就不会显示回退按钮,因为没有更高层级的页面。 默认情况下,您应用的最初页面是唯一的最顶层目的页面,但是您也可以定义多个最顶层目的页面。...,NavigationView 会代替 BottomNavigationView 显示在屏幕上。...△ 在屏幕较宽的设备上运行 Donut Tracker 请注意,当我切换页面的时候返回按钮会自动显示在左上角。

    3K30

    不可错过的几款GitHub开源项目

    本项目包含以下知识点: MVP架构思想 Retrofit RESTful API 框架的配合 RxJava 响应式编程 Butter Knife:通过注解绑定 View 夜间模式切换 效果图: ?...开发此项目主要是为展示各种开源库的使用方式以及 Android 项目的设计方案,并作为团队项目开发规范的一部分。...采用的开源库包括: RxJava Retrofit2 OKHttp3 ORMLite Dagger2 ButterKnife RetroLambda Stetho 本项目还展示了: MVP+RxJava在实际项目中的应用...探索函数式编程 使用 Retrofit2 进行网络请求 开机自启动 Android 6.0 自定义文本操作栏 效果图: ?...主要功能特性: 首页五大模块: 新闻 / 图片 / 视频 / 头条号 / 问答 实现首页的布局和数据的显示 实现自定义新闻栏目顺序 新闻详情页面支持日夜两种主题 显示新闻评论 头条号订阅 查看头条号历史文章

    1.9K20

    Black Hat 2023公开演示,黑客可通过图像和音频操纵大模型

    隐藏在图像和音频中的恶意指令 在本周举办的2023年欧洲黑帽大会上,康奈尔大学的研究人员将展示他们开发的一种攻击,该攻击利用图像和声音向多模态LLM注入指令,导致模型输出攻击者指定的文本和指令。...在另一个示例中,研究人员将指令混合到一幢建筑物的图像中,如果用户将图像输入聊天机器人并询问有关它的问题,那么LLaVa将会像哈利·波特一样聊天。...康奈尔大学的研究员、报告的作者之一本·纳西(Ben Nassi)表示,他们研究的目标之一是找到一种方式,可以以用户无法察觉的方式间接地将提示注入到多模态聊天机器人中。...例如,引导聊天机器人以哈利·波特式的方式回应,即使用户可能已经停止询问特定的图像或音频样本,它也会继续这样做。...研究人员在他们的论文中写道:“当受害者直接将图像或片段输入到一个孤立的LLM并询问有关它的问题时,模型将受到攻击者注入的提示的引导。”

    24910

    针对 CoordinatorLayout 及 Behavior 的一次细节较真

    – 罗永浩 我一直对 Material Design 很感兴趣,每次在官网上阅读它的相关文档时,我总会有更进一步的体会。...但我希望读者还是顺序方式阅读,因为我相信如果你有许多疑惑,我的学习过程也许可以给你一些提示或者启迪。 更多的真相 在编程领域,学习一个陌生的事物,最好的途径可能就是阅读它的官方文档或者是源代码。...我们再修改一个代码,如果 child 是一个 TextView 就让它始终在 dependency 的上方显示,否则在它下方显示。...不过,我们看上面的代码,当一个 View 只有在版本在 Lollipop 及以上时,它才能调用嵌套滑动相关的 api。如果是 5.0 版本以下呢?其实系统做了兼容。...GravityCompat.apply() 方法,通过 Gravity 确定 childView 在 parent 中的显示位置。

    1.3K20

    Selenium面试题

    27、请编写代码片段以在WebDriver中启动Chrome浏览器? 28、编写代码片段以在WebDriver中执行右键单击元素? 29、编写代码片段以在WebDriver中执行鼠标悬停?...它的优点是什么? 40、如何在WebDriver中截取屏幕截图? 41、如何使用Selenium在文本框中输入文本? 42、怎么知道一个元素是否显示在屏幕上?...关于 XPath 的其他一些要点如下: XPath 是一种用于在 XML 文档中定位节点的语言。 当没有适合要定位的元素的 id 或 name 属性时,可以使用 XPath 作为替代。...隐式等待的另一个缺点是:假设你将等待限制设置为 10 秒,并且元素在 11 秒内出现在 DOM 中,您的测试将失败,因为您告诉它最多等待 10 秒。 25、Selenium Grid/网格是什么?...27、请编写代码片段以在WebDriver中启动Chrome浏览器?

    8.6K12

    图灵奖得主Yann LeCun:AI要获得常识,自监督学习是那把钥匙

    以这种方式预先训练的系统比单独以监督的方式训练的系统性能更高。...例如,x 可以是一个短视频片段,y 可以是另一个视频片段。机器会告诉我们 y 在多大程度上是 x 的好延续,为了表示 x 和 y 之间的不兼容性,机器产生一个单一的数字,称为能量。...第三个模块,在头部连接网络,计算一个能量作为两个嵌入向量之间的距离。当模型显示同一图像的变形版本时,网络的参数可以很容易地调整,使得它们的输出更加接近。...在一个训练好的模型中,当隐变量在给定集合中变化时,输出预测会随着与输入 x 相容的合理预测集合的变化而变化。 但是对比方法有一个主要的问题: 训练它们效率很低。...通过最小化这个体积,人们自动地以正确的方式形成能量。 这种方法的一个成功例子是变分自动编码器(VAE) ,其中隐变量被「模糊」,这限制了它的能力。

    46820

    导航: 多返回栈 | MAD Skills

    概述 假设您的应用使用了 BottomNavigationView。通过这个功能,当用户选择另一个标签页 (Tab) 时,当前标签页的返回栈会被保存,而所选标签页的返回栈会被恢复。...为了在导航的早期版本中支持多返回栈,我们需要在该示例的 NavigationExtensions 文件中添加一系列辅助函数。...为此我删除了 NavigationExtensions 类,在所有使用它的地方都替换为 NavigationUI 中标准的 setupWithNavController() 方法以将我们的 BottomNavigationView...list"/> 当我运行应用时,这次底部标签页不再保持它们的状态,并会在我切换到其他标签页时重置它的返回栈...如果您的应用使用 BottomNavigationView 或 NavigationView,并且您一直在等待支持多返回栈,您所需要做的仅仅是更新 navigation 和 fragment 依赖库,不需要改变任何代码

    82320

    自定义 Behavior,实现嵌套滑动、平滑切换周月视图的日历

    在 GitHub 搜了一下,决定使用 MaterialCalendarView。这个库比较流行,它支持周月视图的切换,符合 Material Design,也可以自定义显示效果。...在布局中,对子控件配置 app:layout_behavior 属性,实现对应的联动效果。所以这里我们需要自定义日历和列表的两个 Behavior。 Behavior 有两种实现联动的方式。...CalendarScrollBehavior 在 Behavior 中,通过 layoutDependsOn 方法来建立依赖关系,一个控件可以依赖多个其他控件,但不可循环依赖。...惯性滑动 上面效果可以看出一个问题,当滑动到一半的时候松手,应该要恢复到完整视图的位置。这里包含了,快速滑动后惯性滑动到指定位置的效果,和没有快速滑动时,往就近的指定位置滑动这两种效果。...效果 看一下最终的效果: [strip] 这种实现方式的优点是代码量少,用起来方便。使用了 MaterialCalendarView 并且没有修改它的源码,意味着支持它的所有功能。

    3.4K10

    XDM,JS如何函数式编程?看这就够了!(四)

    咱们前文也提到过:开发人员喜欢显式输入输出而不是隐式输入输出。 所以我们将细致的看看副作用中【隐式】和【显式】的区别! 何为副作用?...{ y = x * 2; } var y; foo( 3 ); 片段 1 和片段 2 实现的最终效果是一致的,即 y = 3 * 2 ,但是片段 1 是显示的,片段 2 是隐式的。...原因是:片段 2 在函数内引用了外部变量 y。 片段 2 ,当我们调用 foo( 3 ) 时,并不知道其内部是否会修改外部变量 y。它的修改是隐式的,即产生了副作用!...foo( 1 ); I/O 一个没有 I/O 的程序是完全没有意义的,因为它的工作不能以任何方式被观察到。一个有用的程序必须最少有一个输出,并且也需要输入。输入会产生输出。 还记得 foo(..)...制作纯函数时越努力,当您阅读使用它的代码时,你的自信就会越高,这将使代码更加可读。

    37910
    领券