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

Material Design 在 Android 中的应用

最终决定分享主题为『Material Design In Android』。因为之前毕设项目趣闻中有用到「Support Design」库中的控件,所以写起来会顺手一点。...越读越能感受到它的妙处,假如你能严格按照它的规范进行开发项目,哪怕你不是专业的UI设计师,相信你的产品一定会不难看的。 那接下来就主要介绍一下Material Desing在Android中应用。。...跟随着15年Android 5.0的问世,谷歌设计师们还给我们带来的一系列的具有Material Design风格控件。这些控件被统一放置在support design库中,以供开发中使用。...窗口背景颜色 navigationBarColor 导航栏颜色 通过在styles中配置颜色来定制您的主题,并在AndroidManifest中应用。...Material Design 在「口袋」中的应用 其实在咱们的「口袋贵金属」项目中也到找到很多MD的元素。 首先是点击的水波纹效果: ? 其次是交易圈的滑动交互: ?

2.1K20

Material Design中的一些趣事

当然了,这个是我完成任务之后又写的一个demo,大家可能会想到这里用的是谷歌极力推荐我们使用的一个全新的设计语言——Material Design,然后再配上谷歌的下拉刷新控件SwipeRefreshLayout...我们的ViewPager需要一个FragmentPagerAdapter来填充,在adapter中我们需要注意的是Fragment一定要写成员变量,切记不可在getItem方法中返回的时候直接new一个...接下来我们来看刷新之后数据分配的地方,这里我们使用set方式直接将数据设置到Fragment中的方法中,然后再由Fragment中的方法进行数据的展示。...根据adapter.getItem(position)我们就可以获取fragment,注意注意注意,重要的事情说三遍,上面我们说到不能在adapter中的getItem方法中返回的时候直接new一个对象...,因为我们每次在Activity中调用adapter.getItem的时候adapter都会创建一个新的Fragament对象,然后你之前初始化过的一些东西就会没了,然后当你设置数据的时候就回空指针了

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

    Material.io 重磅升级 | 中文字幕视频

    于是我们对 material.io 进行了这次重大升级。...全新改版的 material.io 覆盖了从设计、开发到工具的各个方面,新增了对全新场景、控件的详尽解读,而且引入了可交互的操作,让您可以知晓边距、对齐等布局要素在动态界面中的变化和执行细节。 ?...△ 全新的 material.io 包含的三大板块,让您在对设计规范有整体认知的同时,也能深入了解执行层面的 know-how。 ? △ Material Design 包含着对品牌和个性的支持。...△ Google 就在 Material Design 的框架下成功设计了独属于自己的 Material 主题。您也同样可以做到。 ? △ 分割/辅助线的加入让界面元素在动态布局时的位置更加直观。...请看☟视频☟了解全新 material.io 更多细节: 查看腾讯视频请点击此处 我们希望这次改版能帮助大家更轻松、更自信而且更便捷地打造出 Material 设计佳品!

    77710

    SAP QM中阶之Material Specification的使用

    SAP QM中阶之Material Specification的使用 SAP QM模块中,对于物料的检验,除了使用Task list形式的检验计划以外还可以使用material specification...不过在SAP项目实践中,该功能基本很少被使用到。Anyway,即使它用的少,我们还是可以花些时间了解一下如何使用它。 本文对于如何使用Material Specification功能做一个简要说明。...1,物料主数据的设置. 01检验类型里勾选”Insp.with Mat.Spec.”复选框。 2, 执行事务代码QS61创建Material Specification主数据。...保存, 系统提示说Result were save for operation 9000.说明material specification里缺省的检验工序代码就是9000。...Material specification: 不能使用dynamic modification rule; 即使检验特性规定必须有sample procedure, 则维护物料规格里的这个检验特性不要求必须指定

    1K10

    Material的布局原则

    原则 Material Design 指南通过源自印刷领域的设计元素 – 例如排版、网格、空白、缩放、颜色,和图像 – 来建立层次结构和传达所要表达的含义,并专注于带给用户沉浸式的体验。...Material Design 采用来自印刷设计领域的工具,如基准网格和结构模版,通过重复视觉元素,结构网格以及跨平台和屏幕尺寸的间距,促进不同环境下设计的一致性。...这些布局可通过缩放来适应任何屏幕大小,这简化了创建可扩展应用的过程。 纸片工作原理 在 Material Design 中,纸片的物理特性被转移到了屏幕中。...应用的背景类似于一张平坦、不透明质地的纸片,应用的行为也模仿纸片,可以改变大小、拖动及把多个纸片粘合在一起。 在本规范中,构成应用的表面被成为材料或材料片。...它表示单个被提升的操作。 如果它和阶层中的内容创建有关,则可以跨越一个阶层。 跨阶层的浮动操作按钮 如果浮动操作按钮与两个材料的内容都有关,则可以跨越接缝。

    1.3K40

    java中的IO流

    IO流 1、File类 1.1 获取文件或目录信息 1.2 操作文件 1.3 操作目录 1.4 案例:递归列出目录的下一级 1.5 案例:递归列出目录下的所有Java源文件 2、IO流的分类和设计...API中File的解释是文件和目录路径名的抽象表示形式,即通过指定路径名称来表示磁盘或网络中的某个文件或目录。...也就是说,程序中的文件和目录都可以通过File类的对象来完成,如新建、删除、重命名文件和目录等。 另外,程序不能直接通过File对象读取内容或写入数据,如果要操作数据,则必须通过IO流。...2.5 复制文件提升效率版 java.io包提供了Buffered系列的缓冲流,可以在独写数据时提升效率;Buffered系列的IO流只能给对应类型的IO流增加缓冲功能。...然而,有些修改并不影响对象的反序列化,如类中加入了新的实例变量,而序列化的数据中并没有新实例变量的值,那么它在反序列化的过程中可以使默认值。

    1.6K10

    linux系统中的IO

    这句话换到编程中就是 CPU 与外部存储器的输入输出,包括 CPU 本身的一,二,三级的缓存,内存,硬盘,网络,Usb 设备等等 Linux中的IO机制 阻塞与非阻塞 在调用IO函数时,如果需要等待IO...事件准备就绪才返回执行结果就是阻塞的IO调用,如果调用IO函数时,不需要IO事件准备就绪就可以返回结果就是非阻塞。...同步与异步 同步是指在非阻塞的前提下每次调用IO函数不一定会返回准备就绪的IO事件,所以需要不断地去调用IO函数查看是否有IO事件准备就绪。...异步是指在非阻塞的前提下每次调用IO函数后,本线程不在接管IO事件的处理,会告诉程序如果你有准备就绪的IO事件你就去把你的IO事件交给其他线程的函数处理。...多路复用IO技术 在早期的网络服务器中为了处理多个连接请求往往需要开辟多个线程,每个线程负责一个连接的处理,但是多线程需要进行CPU的上下文切换。

    2.6K10

    浅墨: 聊聊Linux IO(中)——Linux内核中的IO栈

    由图可见,从系统调用的接口再往下,Linux下的IO栈致大致有三个层次: 文件系统层,以 write(2) 为例,内核拷贝了write(2)参数指定的用户态数据到文件系统Cache中,并适时向下层同步...块层,管理块设备的IO队列,对IO请求进行合并、排序(还记得操作系统课程学习过的IO调度算法吗?)...假设要去读一个冷文件(Cache中不存在),open(2)打开文件内核后建立了一系列的数据结构,接下来调用read(2),到达文件系统这一层,发现Page Cache中不存在该位置的磁盘映射,然后创建相应的...然后请求继续到达块设备层,在IO队列里排队,接受一系列的调度后到达设备驱动层,此时一般使用DMA方式读取相应的磁盘扇区到Cache中,然后read(2)拷贝数据到用户提供的用户态buffer中去(read...除了传统的Buffered IO可以比较自由的用偏移+长度的方式读写文件之外,mmap(2)和Direct IO均有数据按页对齐的要求,Direct IO还限制读写必须是底层存储设备块大小的整数倍(甚至

    2.7K20

    flutter系列之:Material中的3D组件Card

    简介 除了通用的组件之外,flutter还提供了两种风格的特殊组件,其中在Material风格中,有一个Card组件,可以很方便的绘制出卡片风格的界面,并且还带有圆角和阴影,非常的好用,我们一起来看看吧...semanticContainer是一个bool值,表示Card中的child是否都具有相同的semantic,或者说他们的类型是一致的。 最后一个参数就是child了,表示Card中的子元素。...虽然Card中的child只有一个,但是这个child可以是可以包含多个child的widget,比如Row或者Column等。...中运行,可以得到下面的界面: 大家可以看到Card的底部是有明显的3D效果的。...前面两个ListTile使用Divider进行分割,非常的好用。 总结 以上就是flutter中Card的使用了,大家可以结合ListTile一起构建更加美观和复杂的系统。

    91710

    Flutter中的Material Theme完全指南:从入门到实战

    本文将深入探讨Flutter Material Theme的使用,包括如何借助Material Theme Builder创建符合产品需求的主题风格。通过多个场景和代码实例,让你轻松掌握这一工具。...如何在Flutter中使用Material Theme? 在Flutter中,Material Theme的核心是ThemeData对象。它是通过MaterialApp的theme属性设置的。..., ), ); } } 在这个例子中,我们定义了一个蓝色主色调和自定义的文本样式。...深入Material Theme Builder Material Theme Builder是一个强大的在线工具,提供了直观的界面来快速设计并导出符合Material Design标准的主题。...ThemeMode.dark : ThemeMode.light, home: MyHomePage(), ); } } 总结 Material Theme是Flutter开发中不可或缺的部分

    1K00

    Java 中的伪异步 IO

    本文简单介绍 Java 中的 伪异步 IO 知识。 1 伪异步 IO 通信模型 伪异步 IO 通信模型如下图所示: ?...上篇文章中 Java BIO 认识 介绍了 BIO 的弊端,就是服务端会对每个客户端的请求单独创建一个线程来处理,这样子很浪费资源,特别是高并发的时候,资源容易被耗尽导致宕机。...伪异步 IO 通过使用线程池来优化 BIO,只是解决线程不过多的创建这个问题,没有解决阻塞 IO,所以被称为伪异步 IO。...3 伪异步 IO 弊端 伪异步解决了 BIO 的资源占用问题,但是依旧没有解决 IO 阻塞问题,因为 InputStream 中的 read() 方法读取数据时,它是一直阻塞的,直到发生有数据可读、...OutputStream 中的 write() 方法也是阻塞的。 做个有梦想的程序猿

    1.4K40

    JAVA中的IO模型-BIO

    微信公众号:码上就有 公众号的文章名称:JAVA中的I/O模型-多路复用 背景   在日常的IO模型中,我们应该听过BIO、NIO以及AIO。...我们继续跟到对应子进程中的文件中: 1 set_robust_list(0x7f2e346439e0, 24) = 0 2 gettid()...如果没有开辟子进程,那么demo中的18以及31行都会发生阻塞事件,而当我们开辟了子进程,那么18行依旧会发生对应的阻塞,同时也浪费了资源(一万个连接则创建了一万个子进程)。...总结    当我选择BIO去做业务的时候,则需要考虑他能带来什么样的好处以及弊端,有利于帮助我们选择合适的一个网络IO模型。那么他的优势以及弊端各是什么呢?...优势: 代码编写简单 弊端: 线程内存浪费(开辟线程) cpu调度消耗(主线程克隆子进程,recvfrom为用户态程序调用内核系统进行等待数据接收) 下一节我们再讲解接下来的几种IO模型,让大家能够很好的体会到为什么需要不断的进行迭代升级

    63920

    Material Components——Shape的处理

    Material Components库还实现了新的Material Design规范中引入的功能。 官方的文档对Material Components有着非常详细的讲解,地址如下所示。...这次要讲的就是Material Components中对于Shape的处理。...在ShapePathModel中,也有一些预定义的现成的Edge和Corner处理,它们已经实现了Material Design规范中介绍的大部分形状效果。...Material Components的开发者会发现不论是Android还是Flutter,它们上面都有着类似的影子,大家可以看看https://material.io/develop/android的文档...在现代化的Android开发中,Google已经对应用层的很多设计、开发方式进行了统一和梳理,利用这些先进的开发工具,可以让我们平时的开发更加方便。

    1.5K20

    java中的io流知识总结_java中的io流开发用的多吗

    ,但是能够明显感受到在执行其他的操作的时候,还是会有一些不方便的地方存在,因此今天我们会学习另外四个IO流来帮助我们对文件进行操作,这四个流分别是缓冲流、转换流、序列化、打印流。...=-1){ bos.write(buffer,0,len); bos.flush(); 通过字节缓冲流实现将一个文件中的内容复制在另一个文件之中。...这样字符输入流中的字符就不会乱码了。...,将类中的版本序列号更改,在没有作第二次重新序列化之前,反序列化会出现报错的情况。...Properties 作用:Properties代表的是一个属性文件可以把自己对象中的键值对信息存入到一个属性文件中去 属性文件:后缀是.properties结尾的文件,里面的内容都是key=value

    1.1K20

    Java中的集合与IO

    集合类中主要有几种接口? Collection:是集合List、Set、Queue的最基本的接口。 Iterator:迭代器,可以通过迭代器遍历集合中的内容。 Map:是映射表的基础接口。...当多线程访问同一桶中不同段上的数据时就不会存在锁竞争的问题。...主要包括两个阶段: 新建一个node[]数组,数组长度为原数组的2倍 将原数组中的元素rehash到新的数组中 注:在创建数组时若要指定数组长度,最好使要指定的数组长度小于2^n与负载因子的乘积。...BIO与NIO的区别 BIO指的是同步阻塞式IO 在此方式下,用户进行在发起一个IO操作时,必须等待该IO操作结束,用户进程才会结束 NIO指的是异步非阻塞式IO NIO采用了双向通道进行数据传输,可以在通道上注册事件...传统IO基于字节流与字符流进行操作;NIO则是基于Channel与Buffer进行操作。数据总是从Channel通道中读取到Buffer缓冲区中,或者从Buffer缓冲区中写入到Channel通道中。

    1.5K20

    关于”__IO uint32_t” 中的__IO 表达的意思

    这个_IO 是指静态 这个 _IO 是指静态 volatile uint32_t 是指32位的无符号整形变量uint32_t 是指32位的无符号整形变量; 搞stm32这么久了,经常看到stm32...里面库文件里面有用“_IO”定义的变量,查过一下当时记住了,过段时间又给忘记了。...所以才特意的写一个博文来记住。 volatile volatile 类型是这样的,其数据确实可能在未知的情况下发生变化。...另外,比如共享的内存地址,多个程序都对它操作的时候。你的程序并不知道,这个内存何时被改变了。...如果不加这个voliatile修饰,程序是利用catch当中的数据,那个可能是过时的了,加了 voliatile,就在需要用的时候,程序重新去那个地址去提取,保证是最新的。

    2.9K20
    领券