Material Design之UI(上)

MaterialDesign是google在Android(Lollipop/5.0)中推出的新的设计语言,谷歌希望由此来统一各种平台上的用户体验,Material Design的特点是干净的排版和简单、扁平化的布局,以此来突出内容。
一、theme
在项目中使用MaterialDesignTheme:设置应用的targetSdkVersion为21,在style.xml中自定义theme继承android:Theme.Material,AndroidManifest中设置Application或者Activity的theme。google官方提供了三种Material Design样式:Theme.Material、Theme.Material.Light、Material.Light.DarkActionBar。低版本兼容性:Material Design主题只有在API级别为21以上才可使用,低版本如果要使用需要创建value-21资源目录,使用Material Design风格主题,在其他版本使用v7的Theme.AppCompat主题。
这个网站可以生成Material ThemeColor的xml:www.materialpalette.com/teal/teal
 
二、Transition
在5.0之前,activity跳转的时候,如果需要设置一个动画,我们通常可以通过overridePendingTransition(int enterAnim, int exitAnim)来设置一个B的进入动画和A的退出动画,但是这种方式是针对页面全局的元素。所以5.0以后Api提供了Transition动画。
系统提供的四种动画场景:
(1)setExitTransition() - 当A start B时,使A中的View退出场景的transition

(2)setEnterTransition() - 当A start B时,使B中的View进入场景的transition

(3)setReturnTransition() - 当B 返回 A时,使B中的View退出场景的transition

(4)setReenterTransition() - 当B 返回 A时,使A中的View进入场景的transition
系统提供的动画效果:
explode(分解)—— 进入/退出从屏幕中间移动视图;
slide(滑动)——进入/退出从屏幕边沿石洞视图;
fade(淡出)——通过改变屏幕上视图的不透明度达到进入/退出视图的效果
过渡动画:
要使用transition需要在values-21下的style定义theme
<style 
        <item name="android:windowContentTransitions">true</item>
        <item name="android:windowAllowEnterTransitionOverlap">true</item>
        <item name="android:windowAllowReturnTransitionOverlap">true</item>
        <item name="android:windowEnterTransition">@android:transition/explode</item>
        <item name="android:windowExitTransition">@android:transition/explode</item>
        <item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
        <item name="android:windowSharedElementExitTransition">@android:transition/move</item>
    </style>
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值