好的,所以我查了 http://android-developers.blogspot.com/2011/02/animation-in-honeycomb.html
他说你可以在给定的时间内为对象的属性设置动画.我试着在物体周围移动它看起来很好.当我改变LinearLayout的宽度时遇到了问题.我懂了:
10-26 14:51:27.190: E/PropertyValuesHolder(12681): Couldn't find setter/getter for property width with value type float
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用"myWidth"扩展LinearLayout
public void setMyWidth(int myWidth) {
LinearLayout.LayoutParams params = (LayoutParams) getLayoutParams();
params.weight = myWidth;
setLayoutParams(params);
requestLayout();
this.myWidth = myWidth;
}
Run Code Online (Sandbox Code Playgroud)
没运气.然后我尝试更改LayoutParams.width,结果宽度和高度是java历史记录中唯一的公共属性,而ObjectAnimator需要getter和setter.没运气.我很尴尬地说我试图扩展LayoutParams ...没有运气.
有人成功做了这样的事吗?我使用了旧的android.view.animation,我得到了我想要的东西,但我对未来感到好奇.
我需要这个API11之前的项目.
我正在寻找一种从右边添加视图的方法,这将导致当前的全屏视图向左移动,以允许新视图在屏幕中被访问.
新视图大约是屏幕宽度的1/3,因此当前fusll屏幕视图应移出屏幕的距离.
我已经厌倦了使用TranslateAnimation()的各种解决方案,虽然我对动画非常满意,但我在原始视图中的所有可点击区域都没有问题.
所以我开始使用布局来正确地定位它,带有负边距,但是几秒钟后,当新的布局请求出现时,视图会弹回原位.在动画结束侦听器上移动视图时,此解决方案也会产生波动效应.
什么是最简单的解决方案,当新视图进入或退出时,它具有良好的动画,并且根据布局将视图放在正确的位置.