Android:animateLayoutChanges ="true",如果淡出效果不受欢迎,该怎么办?

nom*_*nom 26 android android-animation

在我的布局XML文件中:

<LinearLayout
   ...
   animateLayoutChanges="true"
   ... />
Run Code Online (Sandbox Code Playgroud)

当我添加和a View和这个布局并删除它时,我可以看到淡入和淡出效果.但是,我只需要淡出效果.谁能告诉我应该怎么做?

Inf*_*ion 51

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

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);
}
Run Code Online (Sandbox Code Playgroud)

  • 如果你想将api级别定位在16以下怎么办?在API 16中添加disableTransitionType. (3认同)
  • 如果我只想为特定视图更改设置动画,并禁用另一个视图的更改动画,该怎么办?(假设这两个视图是兄弟姐妹) (2认同)