我有一个lottie动画文件,当我把它放在视图中时,由于文件的内部填充,它变得太小了。所以我在xml中使用了lottie_scale属性,也使用了一些参考资料中提到的lottieComposition,如this,但都不成功。有什么办法吗?
iqjalb3h1#
我认为目前有两种“半”解决方案:1.在Adobe After Effects上安装Bodymovin,然后导入动画并将其比例设置为500%。1.不要按Lottie比例缩放Lottie动画视图,而是使用ScaleX、ScaleY:可扩展标记语言:
android:scaleX="5" android:scaleY="5"
方案方面:
view.setScaleX(5f); view.setScaleY(5f);
k10s72fa2#
尝试使用OverflowBox小工具
OverflowBox
SizedBox( height: 120, child: OverflowBox( minHeight: 170, maxHeight: 170, child: Lottie.asset('assets/json/box.json'), ), ),
ewm0tg9j3#
由于我之前提供的解决方案并不适用于每个面临这个问题的人,我决定将我的答案改为更通用(经过尝试和测试)的解决方法,即使用规模:
<com.airbnb.lottie.LottieAnimationView android:id="@+id/my_animation" android:layout_width="100dp" android:layout_height="100dp" android:scaleX="5" android:scaleY="5" app:lottie_fileName="animation.json" app:lottie_autoPlay="false"/>
android:scaleX="5"是这里的关键。
android:scaleX="5"
我最近也遇到了同样的问题,我使用了一个负填充来增加视图中动画项目的大小
<com.airbnb.lottie.LottieAnimationView android:id="@+id/my_animation" android:layout_width="100dp" android:layout_height="100dp" android:padding="-10dp" app:lottie_fileName="animation.json" app:lottie_autoPlay="false"/>
增加或减少填充值以获得所需的动画大小。
fjaof16o4#
在喷气背包中
LottieAnimation( composition = composition, iterations = LottieConstants.IterateForever, modifier = Modifier .requiredHeight(30.dp) .requiredWidth(30.dp).scale(2f,2f), )
s8vozzvw5#
我也遇到了同样的问题,但找不到一个好的答案,为了让它工作,我使用了负边距。这很难看,但可能是一个快速解决办法。
<LottieView style={styles.checkAnimation} source={require('<path to json>')} autoPlay loop={false} speed={2} autoSize resizeMode="cover" /> const styles = { checkAnimation: { position: 'absolute', width: '150%', height: '115%', marginLeft: '-17%', marginTop: '-7%', }, }
5条答案
按热度按时间iqjalb3h1#
我认为目前有两种“半”解决方案:
1.在Adobe After Effects上安装Bodymovin,然后导入动画并将其比例设置为500%。
1.不要按Lottie比例缩放Lottie动画视图,而是使用ScaleX、ScaleY:
可扩展标记语言:
方案方面:
k10s72fa2#
尝试使用
OverflowBox
小工具ewm0tg9j3#
由于我之前提供的解决方案并不适用于每个面临这个问题的人,我决定将我的答案改为更通用(经过尝试和测试)的解决方法,即使用规模:
android:scaleX="5"
是这里的关键。旧答案
我最近也遇到了同样的问题,我使用了一个负填充来增加视图中动画项目的大小
增加或减少填充值以获得所需的动画大小。
fjaof16o4#
在喷气背包中
s8vozzvw5#
我也遇到了同样的问题,但找不到一个好的答案,为了让它工作,我使用了负边距。这很难看,但可能是一个快速解决办法。