Android:animateLayoutChanges=";“真的”;,如果不需要淡出效果,我该怎么办?

Android:animateLayoutChanges=";“真的”;,如果不需要淡出效果,我该怎么办?,android,android-animation,Android,Android Animation,在我的布局XML文件中: <LinearLayout ... animateLayoutChanges="true" ... /> 当我添加一个视图并将其删除到该布局时,我可以看到淡入和淡出效果。但是,我只需要淡入效果。谁能告诉我该怎么做吗?您应该从布局XML文件中删除animateLayoutChanges。 相反,在运行时创建一个LayoutTransition对象,并使用setLayoutTransition()方法将其提供给布局 如果您希望api级别低

在我的布局XML文件中:

<LinearLayout
   ...
   animateLayoutChanges="true"
   ... />


当我添加一个
视图
并将其删除到该布局时,我可以看到淡入和淡出效果。但是,我只需要淡入效果。谁能告诉我该怎么做吗?

您应该从布局XML文件中删除
animateLayoutChanges
。 相反,在运行时创建一个
LayoutTransition
对象,并使用setLayoutTransition()方法将其提供给布局


如果您希望api级别低于16,该怎么办?API 16中添加了disableTransitionType。那么lt.setAnimator(LayoutTransition.Englishing,null)呢?如果我只想为特定视图更改设置动画,并禁用另一个视图的更改动画,该怎么办?(假设这两个视图是同级视图)如果我想删除两个淡入淡出动画,我们可以设置持续时间吗?
private ViewGroup mContainerView;  

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.custom_linear_layout);

    mContainerView = (ViewGroup) findViewById(R.id.container);
    LayoutTransition lt = new LayoutTransition();
    lt.disableTransitionType(LayoutTransition.DISAPPEARING);
    mContainerView.setLayoutTransition(lt);
}