我知道,我可以启动Settings-Activity
Intent intent = new Intent(Settings.ACTION_DISPLAY_SETTINGS);
startActivityForResult(intent,1);
Run Code Online (Sandbox Code Playgroud)
但是我怎么知道动画是否首先启用了?
如果在设置中启用了动画,我在自定义视图中有一个动画,只想显示它.如果他们被禁用,我想让用户在他第一次启动应用程序时启用它们.
Mr.*_*ard 13
设置.系统 .TRANSITION_ANIMATION_SCALE和设置.系统 .ANIMATOR_DURATION_SCALE已从API 17弃用.
所以我用这个方法来找出答案.
private boolean areSystemAnimationsEnabled() {
float duration, transition;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
duration = Settings.Global.getFloat(
context.getContentResolver(),
Settings.Global.ANIMATOR_DURATION_SCALE, 1);
transition = Settings.Global.getFloat(
context.getContentResolver(),
Settings.Global.TRANSITION_ANIMATION_SCALE, 1);
} else {
duration = Settings.System.getFloat(
context.getContentResolver(),
Settings.System.ANIMATOR_DURATION_SCALE, 1);
transition = Settings.System.getFloat(
context.getContentResolver(),
Settings.System.TRANSITION_ANIMATION_SCALE, 1);
}
return (duration != 0 && transition != 0);
}
Run Code Online (Sandbox Code Playgroud)
或者,您只能查看ANIMATOR_DURATION_SCALE ...
private float checkSystemAnimationsDuration() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
return Settings.Global.getFloat(
context.getContentResolver(),
Settings.Global.ANIMATOR_DURATION_SCALE,
0);
} else {
return Settings.System.getFloat(
context.getContentResolver(),
Settings.System.ANIMATOR_DURATION_SCALE,
0);
}
}
Run Code Online (Sandbox Code Playgroud)
并相应地设置你的valueAnimator.setDuration().
ValueAnimator alphaFirstItemAnimator = new ValueAnimator();
alphaFirstItemAnimator.setObjectValues(0.8F, 0F);
alphaFirstItemAnimator.setDuration((long)(DURATION_ANIMATION_MILLIS * checkSystemAnimationsDuration()));
alphaFirstItemAnimator.setInterpolator(new DecelerateInterpolator());
alphaFirstItemAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
public void onAnimationUpdate(ValueAnimator animation) {
}
});
Run Code Online (Sandbox Code Playgroud)
我希望它对某人有帮助.
Seb*_*oth 11
查看http://developer.android.com/reference/android/provider/Settings.System.html.
你可以阅读标志:
如果它们为0,则禁用动画.
| 归档时间: |
|
| 查看次数: |
3636 次 |
| 最近记录: |