如何以编程方式打开动画?我正在使用overridePendingTransition();
。除非我自己打开动画,否则它不起作用。任何人都可以告诉我如何以编程方式打开动画,这些动画在显示/动画设置中?我正在使用overridePendingTransition();开设新活动。
这是我的xml
grow_fadein_center
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale android:fromXScale="0.6" android:toXScale="1.0"
android:fromYScale="0.6" android:toYScale="1.0"
android:pivotX="50%" android:pivotY="50%"
android:duration="@android:integer/config_longAnimTime" />
<alpha android:interpolator="@anim/decelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_longAnimTime" />
</set>
shrink_fadeout_center:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale android:fromXScale="1.0" android:toXScale="0.5"
android:fromYScale="1.0" android:toYScale="0.5"
android:pivotX="50%" android:pivotY="50%"
android:duration="@android:integer/config_longAnimTime" />
<alpha android:interpolator="@anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:duration="@android:integer/config_longAnimTime"/>
</set>
这是我用来打开意图的代码
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ContentResolver cr = getContentResolver();
Settings.System.putInt(cr, Settings.System.WINDOW_ANIMATION_SCALE, 0);
Intent intent=new Intent(context,Second.class);
startActivity(intent);
overridePendingTransition(R.anim.grow_fade_in_center, R.anim.shrink_fade_out_center);
finish();
//testing on textview worked without turning system animation on.
Animation animation=AnimationUtils.loadAnimation(context, R.anim.grow_fade_in_center);
txt.startAnimation(animation);
}
});
仅在启用动画时才有效。我通过settings-&gt; display-&gt; animation
这样做我找到了
ContentResolver cr = getContentResolver();
Settings.System.putInt(cr, Settings.System.WINDOW_ANIMATION_SCALE, 0);
通过设置整数打开或关闭动画!但它对我不起作用! 我需要的是如何在程序设置中以编程方式打开/关闭动画?
答案 0 :(得分:0)
您不需要像这样实际地启动动画。
您只需在正确的位置拨打overridePendingTransition(R.anim.grow_fade_in_center, R.anim.shrink_fade_out_center);
。
public void onClick(View v) {
startActivity(HomeActivity.class);
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
finish();
}
也在做:
Settings.System.putInt(cr, Settings.System.WINDOW_ANIMATION_SCALE, 0);
将禁用窗口动画!