【问题标题】:zoom in and zoom out animation in android在android中放大和缩小动画
【发布时间】:2020-03-19 01:41:34
【问题描述】:

我有两个活动之间通常放大和缩小动画的代码,但我想要一些不同的东西。如果我单击第一个按钮,我的第一个活动有五个按钮,然后放大将仅从第一个按钮的位置开始,而不是从中心放大。请帮帮我。

编辑:缩放应该从我单击的按钮开始。

【问题讨论】:

  • 你的问题不是很清楚,你想从布局的中心放大,还是你的动画不能正常工作?
  • 当我点击任何按钮时,我有五个按钮,它将展开并开始下一个活动。
  • 您不想开始新的活动?
  • 我也想开始新的活动。但是动画就像在扩展

标签: android android-layout android-intent android-animation


【解决方案1】:

您可以在运行命令后使用此方法开始您的新活动,

startActivity(intent);
overridePendingTransition(animation_in_goes_here,animation_out_goes_here);

然后您可以替换上面的动画,将animation_in_goes_here 替换为您新启动的活动所需的动画资源,并将animation_out_goes_here 替换为您要离开的活动的动画资源。这将为您提供切换效果。

zoom_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true">
    <scale
    android:duration="1000"
    android:fromXScale="1"
    android:fromYScale="1"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toXScale="3"
    android:toYScale="3"/>
 </set>

zoom_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true">
    <scale
    android:duration="1000"
    android:fromXScale="1.0"
    android:fromYScale="1.0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toXScale="0.5"
    android:toYScale="0.5"/>
</set>

希望这有助于回答您的问题。

【讨论】:

  • thnax...但是动画不合适:(
  • 怎么看起来是什么问题?
  • 这个动画不合适。我要离开的活动没有发生任何过渡。我正在切换到的活动,首先放大然后切换回正常。我要离开的活动没有任何反应。我失去了任何依赖吗?到目前为止,此答案已获得 8 个赞,因此在上下文中必须是正确的。
  • 如何使两种效果合二为一?
【解决方案2】:

放大

<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:fromXScale="0"
    android:fromYScale="0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toXScale="0.5"
    android:toYScale="0.5">

</scale>

缩小

<scale xmlns:android="http://schemas.android.com/apk/res/android"

    android:duration="1000"
    android:fromXScale="2.1"
    android:fromYScale="2.1"
    android:pivotX="50%"
    android:pivotY="50%"
    android:startOffset="3000"
    android:toXScale="0"
    android:toYScale="0">

</scale>

【讨论】:

  • 创建 zoom.xml 用于缩小和放大
  • 如何使两种效果合二为一?
【解决方案3】:

我认为你必须这样做

  • 设置“进”和“出”动画
  • 创建文件夹 res/anim
  • 将动画描述放入 res/anim 文件夹

    object.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.zoom_enter)); object.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.zoom_exit));

您可以使用 google 在 Apache 2.0 许可下提供的 android sdk 示例动画

或者参考这个使用基于缩放的缩放,这比前者更容易

http://developer.android.com/training/animation/zoom.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多