今天项目中需要用到一个小移动动画,在ios中有好多种办法,什么直接设置frame的,view动画的,BaseAnimation的,反正很多。当安卓中遇到后,我先想到的就是模仿ios中那样,来通过坐标的改变达到位移动画。
利用代码来修改xml文件中定义控件
TextView window_title = (TextView)this.findViewById(R.id.window_detail_title);
window_titlem.setPadding(left,top,right,bottom);// 通过自定义坐标来放置你的控件
或者
TextView window_title = (TextView)this.findViewById(R.id.window_detail_title);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)window_title.getLayoutParams();
params.setMargins(left,top,right,bottom));// 通过自定义坐标来放置你的控件
window_title .setLayoutParams(params);
需要的效果达到了,记录下
设置控件是否可见:
我查到的办法一共有两种,
第一种:在xml文件中:
android:visibility="INVISABLE" 不可见
android:visibility="VISABLE" 可见
第二种:在代码中:
action_right_button.setVisibility(View.INVISIBLE);不可见
button.setVisibility(View.VISIBLE);可见
其实,我项目中用的不是这两种的任何一种,因为我们项目中用的一个自定义的view,然而这个view没有这个属性来控制它是否可见。
hey,脑子突发奇想,在xml中因为横向布局没问题,没有和这个控件依赖,所以,我在xml中将这个自定义的view宽度设置为0,高度不变。然后
在消息到来后,我将这个控件在代码中获取到,并把其宽度改成了需要的宽度,然后就达到了隐藏的控件根据情况显示。
ps:我这种办法其实是迫不得已,并不是十分可取。但毕竟是达到了项目的需求~~