Creating Apps With Material Design —— Defining Shadows and Clipping Views

简介: View转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出,谢谢定义阴影和裁减材料设计引入了深度的UI元素。

View转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出,谢谢

定义阴影和裁减

材料设计引入了深度的UI元素。深度帮助用户了解每个元素的相对重要性,以及集中注意力于手头的任务。 


一个视图,通过Z属性表示的Elevation,决定了它的影子的大小:具有较高的Z值的View蒙上更大的阴影。浏览次数只投射阴影在Z=0平面上;他们不投在下面放置它们和上面的Z =0平面的其他意见的阴影。 

具有较高的Z值的意见闭塞的View与较低的Z值。然而,鉴于Z值不会影响视图的大小。 

Elevation也很有创建动画,其中的小部件暂时超越视图平面执行某些操作的时候。


指定Elevation到你的Views


一个视图中的Z值有两个组成部分,高度和翻译。仰角是静态分量和翻译是用于动画:

Z = elevation + translationZ


设置在布局定义视图的高度,使用android:elevation属性。设置在活动的代码视图的高度,使用View.setElevation()方法。 

要设置视图的转换,使用View.setTranslationZ()方法。 

新ViewPropertyAnimator.z()和ViewPropertyAnimator.translationZ()方法,使您能够轻松地制作动画的View elevation。欲了解更多信息,请参阅ViewPropertyAnimator和物业动画开发人员指南的API参考。 

您也可以使用StateListAnimator以声明方式指定这些动画。这是情况下,状态变化触发动画,当用户按下一个按钮,像特别有用。欲了解更多信息,请参见动画视图状态更改。
Z值与X和Y值具有相同的测量单位


自定义视图的阴影和Outlines


一个视图的背景绘制的边界决定了其影子的默认形状。Outlines表示图形对象的外部形状,并限定了波纹区域的触摸反馈。

考虑这个View,与背景绘制的定义:

<TextView
    android:id="@+id/myview"
    ...
    android:elevation="2dp"
    android:background="@drawable/myrect" />

背景绘制定义为带有圆角的矩形:

<!-- res/drawable/myrect.xml -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle">
    <solid android:color="#42000000" />
    <corners android:radius="5dp" />
</shape>

该视图投下带有圆角的影子,因为背景绘制定义视图的轮廓。提供了一个自定义的轮廓覆盖视图的影子的默认形状。 


要定义自定义大纲代码中的一个View: 


    扩展ViewOutlineProvider类。 
    覆盖getOutline()方法。 
    分配新大纲提供给您的视图与View.setOutlineProvider()方法。 

您可以创建椭圆形和矩形轮廓使用大纲类中的方法圆角。默认纲要提供者的意见得到从视图的背景轮廓。为了防止鉴于蒙上阴影,设置其轮廓提供商为null。


裁减视图

裁剪View,您可以轻松地更改视图的形状。你可以改变视图一致性与其他设计元素或改变的图的形状,以响应用户输入。您可以剪辑,以便使用View.setClipToOutline()方法还是Android的轮廓区域:clipToOutline属性。只有矩形,圆形和圆角矩形轮廓支撑剪裁,如由Outline.canClip()方法来确定。 

夹视图到绘制的形状,设置绘制的视图的背景(如上图所示),并调用View.setClipToOutline()方法。 

剪裁View是昂贵的操作,所以不要动画,你用它来夹视图的形状。为了达到这个效果,请使用显示效果动画。







目录
打赏
0
0
0
0
16
分享
相关文章
一款基于Material Desgin设计的APP
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/50413625 源码小编已经上传到github上了,求star啊 https://github.
993 0
Reading:一款不错的Material Desgin风格的Kotlin版本的开源APP
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/81946831 Reading https://github.com/Hankkin/Reading 简介 很久不见,重新拾起博客吧,今天分享一个开源APP-Reading,项目的初衷是因为自己平时翻文章,但是公众号又经常忘记看,自己索性搞一个APP吧,顺便练一下Kotlin。
1428 0
Android Material Design TabLayout属性app:tabMode和app: tabGravity
Android Material Design TabLayout属性app:tabMode和app: tabGravity Android Material Design 中的TabLayout有两个比较有用的属性 app:tabMode、app:tabGravity, (1)app:tabMode有两个值:fixed和scrollable。
1701 0
仿知乎app登录界面(Material Design设计框架拿来就用的TexnInputLayout)
在我脑子里还没有Material Design这种概念,就我个人而言,PC端应用扁平化设计必须成为首选,手当其冲的两款即时通讯旺旺和QQ早就完成UI扁平化的更新,然而客户端扁平化的设计本身就存在天生的缺陷,手指和鼠标箭头最大的区别是在于前者有温度和感觉的,这时候Material Design应运而生。
1640 0
基于Material Design设计的分享文字图片的APP
写在前面:这个项目是自己当时为了准备面试而做的,由于时间匆忙,水平有限,项目多多少少存在一些问题。代码的整洁性与复用性,以及整体架构的搭建都不尽人意,大家看看里面的一些效果就好。
1294 0
Creating Apps With Material Design —— Maintaining Compatibility
转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出,谢谢 保持兼容性 如material design和自定义活动的过渡部分材料设计功能只能在Android5.0(API等级21)以上。
811 0
Creating Apps With Material Design —— Defining Custom Animations
转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出,谢谢 定义动画 在材料设计动画让用户与您的应用程序进行交互时,为他们的行为提供反馈,并提供可视化的连续性。
823 0
让你的 APP换上Material Design
转自  :http://www.jianshu.com/p/f22c0f50ac3f# 字数3293 阅读1357 评论15 喜欢60 Material Design 我的更多 android 博文,关注作者~每周更新一篇 Android干货博文http://xuyushi.github.io/archives/ 吐槽 作为一个 And
1879 0
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
41 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡

热门文章

最新文章

  • 1
    MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
    173
  • 2
    原生鸿蒙版小艺APP接入DeepSeek-R1,为HarmonyOS应用开发注入新活力
    16
  • 3
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    5
  • 4
    1688APP 原数据 API 接口的开发、应用与收益
    19
  • 5
    PiliPala:开源项目真香,B站用户狂喜!这个开源APP竟能自定义主题+去广告?PiliPala隐藏功能大揭秘
    2
  • 6
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
    15
  • 7
    语音app系统软件源码开发搭建新手启蒙篇
    1
  • 8
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    3
  • 9
    flutter3-dart3-dymall原创仿抖音(直播+短视频+聊天)商城app系统模板
    5
  • 10
    语音交友app系统源码功能及技术研发流程剖析
    4
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等