android裁剪界面阴影层,创建阴影和裁剪视图  |  Android 开发者  |  Android Developers...

Material Design 针对界面元素引入了高度。高度有助于用户了解每个元素的相对重要程度,并集中精力解决当前任务。

某个视图的高度(由 Z 属性表示)决定了其阴影的视觉外观:视图的 Z 值越大,则投射的阴影越大、越柔和。Z 值较大的视图会遮挡 Z 值较小的视图;不过,视图的 Z 值不会影响视图的大小。

9027fb078577a211b60edd21c6026723.png

阴影由具有高度的视图的父级绘制,因此需要接受标准视图裁剪(默认由父级裁剪)。

此外,高度还有助于创建下面这样的动画:在执行某些操作时微件暂时升高到视图平面上方。

如需详细了解 Material Design 中的高度,请参阅 3D 空间中的对象。

指定视图高度

视图的 Z 值包括两个组件:高度:静态组件。

平移:用于动画的动态组件。

Z = elevation + translationZ

2212f5de4e83ff17d8c3c11e285c9d09.png

图 1 - 不同视图高度的阴影。

要设置某个视图的默认(静止)高度,请在 XML 布局中使用 android:elevation 属性。如果要在 Activity 的代码中设置视图高度,请使用

您也可使用 为视图状态变化添加动画效果。

Z 值以 dp(密度无关像素)为单位。

自定义视图阴影和轮廓

视图的背景可绘制边界决定了其阴影的默认形状。轮廓表示图形对象的外部形状,并可定义轻触反馈的波纹区域。

以下面的视图(已使用背景可绘制对象进行定义)为例:

android:id="@+id/myview"

...

android:elevation="2dp"

android:background="@drawable/myrect" />

背景可绘制对象已定义为一个圆角矩形:

android:shape="rectangle">

该视图会投射圆角阴影,因为背景可绘制对象定义了视图的轮廓。提供自定义轮廓会覆盖视图阴影的默认形状。

要在代码中定义视图的自定义轮廓,请执行以下操作:

您可使用 null。

裁剪视图

通过裁剪视图,您可以轻松地更改视图的形状。您可以裁剪视图以便与其他设计元素保持一致,也可以根据用户输入更改视图的形状。您可使用 android:clipToOutline 属性将视图裁剪至其轮廓区域。由

如果要将视图裁剪至可绘制对象的形状,请将可绘制对象设置为视图背景(如上所示)并调用

裁剪视图是一项成本高昂的操作,因此请勿为用于裁剪视图的形状添加动画效果。如需实现这种效果,请使用揭露效果动画。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值