我遇到了这个问题,我有一个类似手风琴的活动,带有根据其状态展开或折叠布局的按钮,然后问题出在动画中,展开动画非常完美,但是折叠布局时折叠它通过上面父按钮的,我想相对于布局折叠它。
对不起,我的英语不好,这是代码:
public class Animations extends Animation {
/**
* Initializes expand collapse animation, has two types, collapse (1) and expand (0).
* @param view The view to animate
* @param duration
* @param type The type of animation: 0 will expand from gone and 0 size to visible and layout size defined in xml.
* 1 will collapse view and set to gone
*/
public AnimationSet AnimationSet;
public Animations(String type) {
if (type == "Expand")
AnimationSet = ExpandAnimation();
if (type == "Collapse")
AnimationSet = CollapseAnimation();
}
public AnimationSet ExpandAnimation() {
AnimationSet _set = new AnimationSet(true);
Animation animation = new AlphaAnimation(0.0f, 1.0f);
animation.setDuration(250);
_set.addAnimation(animation);
animation = new TranslateAnimation(
Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f,
Animation.RELATIVE_TO_SELF, -1.0f, Animation.RELATIVE_TO_SELF, 0.0f
);
animation.setDuration(150);
_set.addAnimation(animation);
return _set;
}
public AnimationSet CollapseAnimation() {
AnimationSet set = new AnimationSet(true);
Animation animation = new AlphaAnimation(1.0f, 1.0f);
animation.setDuration(250);
set.addAnimation(animation);
animation = new TranslateAnimation(
Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f,
Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, -1.0f
);
animation.setDuration(250);
set.addAnimation(animation);
return set;
}
}