美文网首页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