当前位置: 首页 > 知识库问答 >
问题:

LayoutTransitions对可见性更改不起作用

商正浩
2023-03-14

我正在尝试使用LayoutTransition动画,但它们不起作用。

我设置

android:animateLayoutChanges="true

在我的activity布局中的父级LinearLayout中。然后,在选中或未选中另一个复选框时,对包含一些复选框的子LinearLayout执行setVisibility(View.Visible)或setVisibility(View.Gone)。可见性更改不是动画的。父级LinearLayout中有一个ScrollView。

我还尝试通过编程方式设置布局转换

LayoutTransition layoutTransition = new LayoutTransition();
layout.setLayoutTransition(layoutTransition)

但那也没有效果。

我哪里错了?这应该很简单。

这是在Android 6.0.1上,使用了V23.2.0支持库中的AppCompattivity。

编辑:我注意到一些布局更改是动画的。例如,当我将一个RecycleRView的可见性设置在VISIBLE和GONE之间时,它就会很好地动画化。然而,简单的布局包含3个复选框,当它们的可见性被设置为可见/消失时,它们不会动画。

共有1个答案

萧宏远
2023-03-14

看起来所有的布局,你想要的内容,你想要的动画,每一个都必须有标志设置。我以为animateLayoutChanges标志会传递给它的子布局,所以我只在父布局上设置了它,但看起来好像不是这样。

 类似资料:
  • 我是Netbeans和Java的新手,对jpanels上的jlabel有一个问题。我有一个jTabbedPane,里面有一个jPanel。我在JPanel上有一个jLabel。我想将jLabel的可见性设置为false,但似乎不起作用。当我运行程序时,标签仍然可见。我不明白为什么。

  • 问题内容: 我正在构建一个简单的示例,使用该属性翻转卡片。 几天前它运行良好,但突然间它停止工作。效果仍然有效,但是当我将鼠标悬停在卡片上时,正面应该消失以使背面可见。为此,我正在使用该属性。但是似乎无法在chrome中正常工作(无论是稳定版还是每晚构建版) 如果我在做一些糟糕的事情,这里是代码 之所以得出这个结论,是因为我做了几个简单的示例,只使用了一个旋转的div,上面有一个简单的文本,背面隐

  • 问题内容: 我在CSS中添加了一个“扰流器”类,用于扰流器。文本通常是不可见的,但是当鼠标悬停在其上方以向想要阅读该文本的任何人显示扰流板时,该文本就会出现。 应该很简单,但是由于某种原因这是行不通的。即使我将鼠标指向文字,文字仍然不可见。知道是什么原因造成的吗? 问题答案: 您不能将鼠标悬停在隐藏的元素上。一种解决方案是将元素嵌套在另一个容器中: CSS: HTML: 更新资料 在Chrome上

  • 是否可以(仅仅)使用Byte-Buddy更改某些方法的可见性?我有一个带有私有静态方法的用户类,我需要将一些调用委托给这些方法,但由于它们是私有的,所以当前失败了。因此,我想知道是否可以通过添加公共修饰符来转换上述方法来重新定义user类。 对于记录,在目标Java方法上调用setAccessible(true)方法作为not effect,因为Byte Buddy仍然失败,出现以下异常: 我发现

  • 问题内容: 在下面的小提琴中,我分别对可见性和不透明度进行了过渡。后者有效,但前者无效。此外,在可见的情况下,过渡时间被解释为悬停时的延迟。在Chrome和Firefox中都会发生。这是错误吗? 情况1: 情况2: 问题答案: 这不是错误 -您只能在有序/可计算的属性上进行转换(一种简单的想法是,任何具有数字开始和结束数字值的属性。尽管有一些例外)。 这是因为过渡通过计算两个 值 之间的关键帧并通

  • 我正在使用android studio 2.1使用android中最新的数据绑定。使用下面代码中描述的visibility标记将错误获取为 JAVAlang.RuntimeException:发现数据绑定错误。/数据绑定错误****msg:标识符必须具有XML文件中的用户定义类型。视图缺少文件:D:\HP\HealthPortal\u Android\Code\app\src\main\res\l