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