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

setDuration不在动画类中工作

柴瀚昂
2023-03-14

我正在尝试使用Animation类设置ConstraintLayout高度的动画,而setDuration方法似乎不起作用。高度立即更改为所需的高度值。我在开发者选项中看到过关于动画被禁用的帖子,但这不是问题,它设置为1x。无论如何,代码如下:

    public static void scaleUp() {

    Animation animation = new Animation() {

        @Override
        protected void applyTransformation(float interpolatedTime, Transformation t) {

            ConstraintLayout.LayoutParams params = (ConstraintLayout.LayoutParams) profileLayout.getLayoutParams();

            // modify your layout params here
            params.height = 10;

            profileLayout.setLayoutParams(params);

        }
    };

        animation.setDuration(300); // in ms
        profileLayout.startAnimation(animation);
}

共有2个答案

朱刚捷
2023-03-14

可能的解决方案:

  1. 在这里回答
  2. 关于动画的媒体文章
燕琛
2023-03-14
  1. 而不是params。高度=10 使用参数。高度=(整数)(10.0*插值时间)

 类似资料:
  • 我做了一个动画为一些元素(图像和按钮)淡入淡出使用不透明度。除了Safari之外,它在所有浏览器上都能完美地工作。当我尝试在Safari中运行它时,我的所有元素都有100%的不透明度,没有任何动画可以看到… 来自button元素的示例: 以下是我的HTML: 和我的CSS:

  • 我尝试创建一个CSS动画,当你悬停在方框上时,它会显示使用CSS动画的div。我使用了以下站点作为参考。点击这里,但我似乎无法实现EFX。在我的站点上,我使用JqUERY实现了一个show and hide函数,我的addClass和RemoveClass可以正常工作,但总体来说,该函数并没有正常工作。有人能指引我正确的方向吗。 /**HTML**/ /*jquery**/ /**CSS动画**/

  • 我正在工作的HTML5横幅有很多CSS3动画。为了制作可重用的关键帧动画,我在单个元素上使用了多个动画。除了Safari之外一切都很顺利。 CSS: jsfiddle链接 可行的解决方案: 用另一个/更多元素包装该元素&为每个元素添加单个动画。此解决方案需要为包装器元素设置额外的样式。 将多个动画合并为一个&此解决方案增加了的复杂性,并且对于复杂的动画不容易维护。 根据另一个stackOverfl

  • 运动路径 当您为空间属性(包括位置、锚点和效果控制点属性)添加动画时,运动将显示为运动路径。运动路径显示为一连串的点,其中每个点标记图层中每个帧的位置。路径中的方框标记关键帧的位置。 除了使用“时间轴”面板中的属性外,还可以使用运动路径作为查看和处理空间属性及其关键帧的备选直观方式。您可以通过更改现有关键帧或添加新的关键帧,来修改运动路径。还可以通过更改运动路径的关键帧的空间插值方法,来修改其形状

  • 我在我的支持FragmentTransaction上使用了setCustomAnimations,但当我执行addToBackStack时,它所做的只是动画,而当我执行popBackStack时,它只是在没有动画的情况下消失。 下面是我的一段代码: 在setCustomAnimations部分,我使用了4个参数,到目前为止,它只在我调用FragmentAccount时显示幻灯片前的淡出动画,而在调

  • 我正在使用这段代码,但在iOS10上,它并没有设置动画,只是在增加和减少mySubview1的高度。为什么? 同样的代码在iOS9中工作正常