如何以编程方式打开动画?我正在使用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>
收缩淡出中心:
<?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);
}
});
这仅在打开动画时有效。我通过设置->显示->动画这样做
我发现
ContentResolver cr = getContentResolver();
Settings.System.putInt(cr, Settings.System.WINDOW_ANIMATION_SCALE, 0);
通过设置整数来打开或关闭动画!但这对我不起作用!我需要的是如何以编程方式打开/关闭系统设置中的动画?