android - 放大缩小动画

标签 android animation

我正在测试单击图像时的放大/缩小动画。但是我没有得到我想要的结果。图像完全放大但没有完全缩小。为了更好地理解我的问题,请参阅 this video .

这是我的代码:

zoom_in.XML

<set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" >
<scale
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:fromXScale="1"
    android:fromYScale="1"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toXScale="3"
    android:toYScale="3" >
</scale>
</set>

zoom_out.xml

<set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" >
<scale
    xmlns:android="http://schemas.android.com/apk/res/android"
    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" >
</scale>

主要 Activity

public class MainActivity extends Activity 
 {
@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ImageButton pic = (ImageButton) findViewById(R.id.levelimg);
    pic.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v){
            final Dialog dialog = new Dialog(MainActivity.this);
            dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
            dialog.setContentView(R.layout.dialogpic);
            dialog.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation;
            dialog.show();
        }
    });
}
  }

我的dailog动画风格

<style name="DialogAnimation">
    <item name="android:windowEnterAnimation">@anim/zoom_in</item>
    <item name="android:windowExitAnimation">@anim/zoom_out</item>
    </style>

最佳答案

用这个改变你的代码。

缩放.xml

<scale
    android:duration="@android:integer/config_shortAnimTime"
    android:fromXScale="0.3"
    android:fromYScale="0.3"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toXScale="1.0"
    android:toYScale="1.0" />

zoom_out.xml

<scale
    android:duration="@android:integer/config_shortAnimTime"
    android:fromXScale="1.0"
    android:fromYScale="1.0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toXScale="0"
    android:toYScale="0" />

这将为您解决问题。 :)

关于android - 放大缩小动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34394515/

相关文章:

android - Worklight API 中是否有任何应用程序间通信设施?

android - 在 EditText 中处理 “Enter” 并在其中插入字符

android - 如何在每天中午和每次启动时运行服务

javascript - 在水平列表中为 appendTo 和 prependTo 设置动画的可能方法

ios - 缩小和变换 UIButton

android - 如何在 Android 中正确重用 Animation?

android - layout_centerHorizo​​ntal 当另一个 View 位于其右侧时项目不居中

java - 从多个路径从 Firebase 数据库获取数据

javascript - 如何为 Mapbox 上的每个坐标设置动画标记?

javascript - CSS/Javascript 动画高度展开和折叠具有不同高度的元素