Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在TableLayout和图像视图中同时显示不同的动画_Android_Android Layout - Fatal编程技术网

Android 在TableLayout和图像视图中同时显示不同的动画

Android 在TableLayout和图像视图中同时显示不同的动画,android,android-layout,Android,Android Layout,我有一个里面有4个按钮的相对主义者。 我想要一个alpha淡入相对布局的动画,同时,ImageView从底部到屏幕显示到它们的位置 这可能吗 现在,将相同的动画(平移)应用于所有视图,我希望您可以使用平移动画创建ImageButtons,并使用alpha动画显示TableLayout public class Panel extends TableLayout { private Animation showAnimation; private ImageButton bt;

我有一个里面有4个按钮的相对主义者。 我想要一个alpha淡入相对布局的动画,同时,ImageView从底部到屏幕显示到它们的位置

这可能吗

现在,将相同的动画(平移)应用于所有视图,我希望您可以使用平移动画创建ImageButtons,并使用alpha动画显示TableLayout

public class Panel extends TableLayout {

    private Animation showAnimation;
    private ImageButton bt;
    private ImageButton bt2;
    private ImageButton bt3;
    private ImageButton bt4;

    public Panel(Context context, AttributeSet attrs) {
        super(context, attrs);
        inflateViewWith(context);
        loadAnimationResource();
        setVisibility(View.INVISIBLE);
    }

    private void mapGui() {
        //findviewsbyid
    }

    public void setNewViewAndAnimate(int newVisibility) {
        if (newVisibility == View.VISIBLE) {
            startAnimation(showAnimation);
            animateIcons();
        } else {
            setVisibility(newVisibility);
        }
    }

    private void animateIcons() {
        animateIcon(bt);
        animateIcon(bt1);
        animateIcon(bt2);
        animateIcon(bt3);
    }

private void loadAnimationResource() {
    showAnimation = AnimationUtils.loadAnimation(getContext(), R.anim.view_changes_alpha_show);
}
    private void animateIcon(View view) {
        Animation translateAnimation = AnimationUtils.loadAnimation(getContext(), R.anim.panel_icons_show);
        translateAnimation.setFillAfter(true);
        translateAnimation.setInterpolator(new DecelerateInterpolator());
        view.startAnimation(translateAnimation);
    }

    private void inflateViewWith(Context context) {
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        inflater.inflate(R.layout.pane, this, true);
    }
}
panel_icons_show.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
           android:duration="600"
           android:fillAfter="true"
           android:fromXDelta="100%p"
           android:fromYDelta="-100%p"
           android:toXDelta="0"
           android:toYDelta="0"/>


另一个视图包含这个自定义视图,按标签充气,我通过公共方法设置当前可见性并设置图标动画。但这会将变换动画应用于所有视图和图标。

我能看到的以及我从我们的谈话中了解到的内容

public void setNewViewAndAnimate(int newVisibility) {
    if (newVisibility == View.VISIBLE) {
        startAnimation(showAnimation);
        animateIcons();
    } else {
        setVisibility(newVisibility);
    }
}
如果您不设置哪个视图应该淡入,您只需调用

startAnimation(showAnimation);
在“显示动画”中,您只加载动画,但不声明哪个视图应获得动画。。。也许这就是重点。只是猜测而已


请给我更新

请提供进一步支持的代码完成,很抱歉我忘记了。您忘记了提供问题核心功能的Panel_icons_Show.XML;p这并不重要,翻译运动是正确的(我发明了价值观),它与翻译、缩放或任何东西的效果相同。但我用它编辑我的问题。你的句子:实际上我设置了动画,但它同时将相同的动画应用于所有视图。。这不正是你想要的吗?或者你的意思是对所有的亲戚来说?他们现在的动画制作方法正确吗?我不清楚他们现在是怎么做的……或者他们只是淡入还是只是从底部移动到指定位置?在本文中,这与此相同。startAnimation(showAnimation)…将动画应用于此(TableLayout)@colymore是的,这是我的第二个猜测,但我不确定