我在活动过渡中使用了fade_in和fade_out。 当我浏览菜单时,一切运行正常。问题是我有6个按钮来启动一个特定的活动,其中包括一个计时器(计时器)。 此活动将启动此计时器的onCreate()方法。 因此,问题在于如何仅在过渡动画结束后才启动计时器?我的计时器正在运行,而动画仍在运行。有什么办法可以使它与min sdk 16兼容?
我正在考虑使用处理程序。
Handler handler = new Handler();
handler.postDelayed(new Runnable(){
@Override
public void run(){
// keep resetting the timer
}
}, 1000);
还有其他想法吗?
<style name="CustomActivityAnimation" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/fade_in</item>
<item name="android:activityOpenExitAnimation">@anim/fade_out</item>
<item name="android:activityCloseEnterAnimation">@anim/fade_in</item>
<item name="android:activityCloseExitAnimation">@anim/fade_out</item>
</style>
答案 0 :(得分:0)
public void startRepeating(final long repeatEachSeconds,final long repeatForSeconds)
{
getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
final Handler mHandler = new Handler();
final Runnable mRunnable = new Runnable() {
@Override
public void run() {
stopWatch.resetTime();
mHandler.postDelayed(this,repeatEachSeconds);
}
};
mRunnable.run();
Handler stopHandler = new Handler();
stopHandler.postDelayed(new Runnable(){
@Override
public void run(){
mHandler.removeCallbacks(mRunnable);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
}
}, repeatForSeconds);
}```