我在这个相对布局中有一个相对布局(父视图)和一个按钮(子视图)。我正在父视图上应用缩放动画,以便向下滑动并向上滑动动画。但是当应用缩放动画时父视图它的子视图也scale.is有任何为什么要阻止动画中的孩子 这是我的布局代码
<RelativeLayout
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_marginTop="80px"
android:id="@+id/txt_help_gest"
android:background="#111111"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/test"
android:clickable="true"
android:onClick="toggle_contents1"
android:text="title" />
</RelativeLayout>
我的比例动画代码
<?xml version="1.0" encoding="utf-8"?>
<scale
android:duration="500"
android:fromXScale="1.0"
android:fromYScale="0.0"
android:interpolator="@android:anim/linear_interpolator"
android:toXScale="1.0"
android:toYScale="0.5" />
缩放到0.5意味着我希望我的视图从原始尺寸缩小到一半,但它的孩子也变成了一半
我的java代码
public static void slide_down(Context ctx, View v) {
Animation a = AnimationUtils.loadAnimation(ctx, R.anim.slidedown);
a.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
b.clearAnimation();
}
});
if (a != null) {
a.reset();
if (v != null) {
v.clearAnimation();
v.startAnimation(a);
}
}
}
答案 0 :(得分:0)
如果您希望父视图上下滑动,则必须使用 translate animation 而不是缩放。试试这个(您的子视图将具有原始大小):
<?xml version="1.0" encoding="utf-8"?>
<translate
android:duration="500"
android:fromXDelta="100%"
android:fromYDelta="0%"
android:interpolator="@android:anim/linear_interpolator"
android:toXDelta="100%"
android:toYDelta="50%" />