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