美文网首页android收集Android开发常用代码Android UI
用安卓5.0新特性打造酷炫的登录注册界面

用安卓5.0新特性打造酷炫的登录注册界面

作者: 暗尘随码去 | 来源:发表于2017-01-09 15:15 被阅读6218次

先上效果图

login.gif
  • 5.0的Material design新特性已经出来很长时间了,相信很多朋友也开始在项目中使用了,常用的ToolBar,Snacker,TextInputLayout,Floating Action Button界面操作按钮,TabLayout滑动切换布局,NavigationView导航抽屉等相信在网上随便一搜都是一大堆使用教程。

使用过程中的知识点以及注意事项:

  • 因为至少是安卓5.0,所以:minSdkVersion 21

  • 使用到的控件:CardView,TextInputLayout,FloatingActionButton

登录界面:

登录界面.png
  • android5.0 引入了Z轴的概念,所以有两个新属性值得注意:
    • android:elevation 设置该组件“浮”起来的高度,设置该属性可以让该组件呈现3D效果。
    • android:translationZ 设置该组件在Z方向(垂直屏幕方向)上的位移。
Material Design.jpg
getWindow().setExitTransition(null);
getWindow().setEnterTransition(null);
if (Build.VERSION.SDK_INT >=Build.VERSION_CODES.LOLLIPOP) {              
   ActivityOptions options =ActivityOptions.makeSceneTransitionAnimation(this, fab, fab.getTransitionName());    
   startActivity(new Intent(this, RegisterActivity.class), options.toBundle());
} else {    
   DevUtil.gotoActivity(this, RegisterActivity.class);
}

注册界面

注册界面.png
  • XML布局注意点:

  • 清单文件中android:theme="@style/Translucent"

  • 布局跟标签中:tools:context="com.****.****.Activity.LoginActivity"这个属性

  • tools:context
    这个属性通常在一个布局XML文件的根元素中设置,记录了这个布局关联到哪一个activity(因为一个布局在设计时可以被多个布局使用),当前的Layout所在的渲染上下文是activity name对应的那个activity,如果这个activity在manifest文件中设置了Theme,那么会根据这个Theme来渲染你当前的Layout。

  • 代码中的关键就是动画 - Transition

  • 当一个场景改变的时候,transition主要负责:

    • 捕捉每个View在开始场景和结束场景时的状态。
    • 根据两个场景(开始和结束)之间的区别创建一个Animator。
  • Activity Transition提供了三种Transition类型:

    • 进入:一个进入的过渡(动画)决定activity中的所有的视图怎么进入屏幕。
    • 退出:一个退出的过渡(动画)决定一个activity中的所有视图怎么退出屏幕。
    • 共享元素:一个共享元素过渡(动画)决定两个activities之间的过渡,怎么共享(它们)的视图。
  • 这里我们用的是 共享元素动画(使用方法):

    • 定义你的过渡动画XML资源
    • 使用android:transitionName属性给两个布局中的共享元素指定一个相同的名字
    • 使用ActivityOptions.makeSceneTransitionAnimation() 方法

至此酷炫的登录注册界面就打造好了,感兴趣的朋友可以在项目中使用。


喜欢就点个赞呗

相关文章

网友评论

  • 小小程序员jh:关注一波,学习了
  • c9875768a65a:可以 !:heart:
  • 4eaea113b06c:老哥,我把代码沾到我的程序里,然后跳转到注册页面 Login文本那一行没有被盖住,这是什么原因?
  • fad54224b7aa:感谢分享,可以发下这个效果图的一些图片素材吗,比如背景图片和注册的那个图片,有合适的源码就更好了:smile: 邮箱:fanleiym@163.com
  • 雨碎清秋:哪位大神给个源码谢谢了2724427794@qq.com
  • 时间仍在o是我们飞逝:效果不错,但是介绍太少了。。。
    微笑的小丑_:这明显是mark别人的开源框架,GitHub上有的
  • a45d0e067649:请问那个笑脸的等待动画是怎么实现的?我在上面设置等待动画,总是会被cardView遮挡住
    暗尘随码去: @_哇咔咔丶 你可以用一个纯代码实现的加载动画,应该不会出去这个问题了
    a45d0e067649:@暗尘随码去 是xml写的,用的framelayout做根布局,我把要显示的动画控件放在上面,显示不了
    暗尘随码去: @_哇咔咔丶 别人封装的动画库 很多的。你被遮住的是用纯代码还是xml写的
  • 塞尔达And林克:弱弱问一句,如何将png图片中的X变成注册两个字?
    塞尔达And林克:感谢,已经搞定了
    暗尘随码去: @塞尔达_1b61 用一张是注册两个字的图片取代原本的图片
  • 塞尔达And林克:可以看下你做的这个吗?
  • 小胖0_0:漂亮!
  • 78983551cc90:我记得这是两个activity,切换的时候会卡顿
    4ffd64b8dc6f:如果是两个Activity切换的时候发生卡顿的话,应该是图标的问题,你可以试一下将登录界面的还有注册界面的两个FloatingActionButton的图标换成更小的图标。我试过这样就能解决卡顿的问题
    暗尘随码去: @两津勘 是两个,但我在真机和模拟器上都非常流畅
  • 唯简:很实用
    暗尘随码去: @唯简 那就好😊
  • addqian:挺酷炫的
  • b22523051261:好好看:heart_eyes: 我动画什么的都不会哎
    暗尘随码去:我用的也不是很好, 共同学习。:smiley:
  • 5ee7a756a4d7:不错
    暗尘随码去:O(∩_∩)O谢谢:smile:

本文标题:用安卓5.0新特性打造酷炫的登录注册界面

本文链接:https://www.haomeiwen.com/subject/fmoqbttx.html