android 输入框等控件的移动
来源:互联网 发布:入侵摄像头软件 编辑:程序博客网 时间:2024/06/05 05:26
在android的开发过程中难免有的时候需要的需求是,想要移动某些控件实现某些功能的同时,提高用户的体验
比如,携程中的查询地址的时候输入框的左右滑动效果,可能在看到这种效果的时候,挺多的人会想要通过动画的方式
进行实现,笔者也这么的尝试了,不过效果不理想,在用动画实现的时候还要控制,位移后,停止控件移动,控件的
实际的位置等问题,造成了挺多的问题。
以下是笔者的实现方式,供大家参考
笔者通过延迟执行+动态设置控件的位置进行实现
即 new Handler().postDelayed + view.setLayoutParams 实现的,以下是主要的代码
private void clickAnimation() {final FrameLayout.LayoutParams layout = (LayoutParams) mClearEditText.getLayoutParams();//获取控件的布局对象new Handler().postDelayed(new Runnable() {//通过1/1000秒的停顿@Overridepublic void run() {// TODO Auto-generated method stubnowMarginLift = nowMarginLift - 4;//设置左margin的值nowMarginRight = nowMarginRight + 4;//设置右margin的值if (!mIsChangeView) {//判断是左移还是右移layout.leftMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, nowMarginRight,getResources().getDisplayMetrics());layout.rightMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, nowMarginLift,getResources().getDisplayMetrics());} else {layout.leftMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, nowMarginLift,getResources().getDisplayMetrics());layout.rightMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, nowMarginRight,getResources().getDisplayMetrics());}mClearEditText.setLayoutParams(layout);//动态设置控件的位置if (nowMarginRight != 40) {//判断是否已经位置到需要的位置new Handler().postDelayed(this, 1);//没有到达位置继续位移}else{mIsChangeOver=true;//变更位置状态}}}, 1);}其中 mClearEditText就是要移动的控件,而40就是要移动的距离,这样就实现了,控件的位置,并且不会
出现移动时的点击位置或是,显示出错的bug。
0 0
- android 输入框等控件的移动
- android 控件的移动
- [Android]在游戏的SurfaceView中获取输入与使用EditText,Spinner等控件的方法
- Android输入法-输入框随着输入法移动,但是底部控件不会被顶上去
- 去掉输入框选择框等在移动端聚焦时出现一闪的情况
- 移动端虚拟键盘遮挡页面输入框等元素的解决方案
- 【Android】输入框控件EditText
- Android中RecyclerView在TV中处理控件焦点移动,EditText值的修改,CheckBox复用等问题解决
- Swift - 生成各种控件的工厂类(包含标签,按钮,输入框等)
- Android随记------输入框控件对软键盘的监听
- 【Android自定义控件】密码输入框+数字键盘的实现
- 【Android自定义控件】选择输入框的实现
- Android 带清除功能的输入框控件EditTextWithDel
- Android 带清除功能的输入框控件ClearEditText
- Android 带清除功能的输入框控件ClearEditTex
- Android控件--ClearEditText带清除功能的输入框
- Android带清除功能的输入框控件ClearEditText
- Android 带清除功能的输入框控件ClearEditText
- eclipse 项目中搜索资源(类方法,文件名,文件中的字符串),快捷键分类说明
- java Class getDeclaredFields() 与getFields()的区别
- response对象
- JavaScript的事件举例
- Android双向滑动菜单完全解析,教你如何一分钟实现双向滑动特效
- android 输入框等控件的移动
- Material Design的低版本兼容实现——View & Animation
- poj 3237 tree
- FPGA 视频拼接器底图的实现
- UE3 Animation Compression List
- 关于iOS8之前和以后的相册图片获取实现
- 1060. Are They Equal (25)
- DB2完整的SQLCODE和SQLState错误信息
- 获取form表单的内容