今晚教你一个UI特效。登陆页面挂钩平滑动画过度动态。
同时,在和大家分享之前,我推荐我自己的安卓技术分享群:653961128。不管你是小白还是大牛,我都欢迎小编。我不定期分享干货,包括2017年最新的安卓企业案例学习资料和零基础入门教程。欢迎初学者和高级朋友,大家可以一起交流学习,共同进步。
效果
其思想是activity的根布局监视布局的变化,并实现
viewtreeobserver . onglobalaoutlistener接口。如果根布局的高度变化超过高度的1/4,则认为键盘弹出了。
默认情况下,当高度变化超过100时,认为键盘弹出,这里获取的键盘高度不减去状态栏高度。我改进了一下,用非全屏时获得的键盘高度减去状态栏的高度。
修改后的代码截图如下:
下面开始写登陆页面的布局,也没啥难的,就我这个方案注意几点就行:下面开始写登陆页的布局并不难。只要注意我方案中的几点:
把需要往上移动的布局放在一个容器里面;容器的高度计算好,给出定值;登录页面设置键盘模式为
:android:windowSoftInputMode=”adjustResize”在
KeyboardWatcher.SoftKeyboardStateListener的回调接口里面处理要处理的事,也就是平移动画之类的,看着玩耍吧!void onSoftKeyboardOpened(int keyboardHeightInPx);void onSoftKeyboardClosed();
复习
与上次相比,关于显示和隐藏密码还有一点:
1.发现以前项目的显示和隐藏密码都是通过动态设置EditText的inputType实现的,效果不好,键盘有点抖。所以我用EditText的setTransfor***tionMethod方法来实现。想想就知道了。太好了~
2.封装了TextView的上、下、左、右Drawable,可以在布局文件中动态设置大小和资源,节省了在Act或Frg中设置的开销:
本文来自又何必自找失落╮投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/506036.html