Java 隐藏操作栏(定时)和动画视图
以下是我希望发生的事情: 散文:Java 隐藏操作栏(定时)和动画视图,java,android,animation,android-actionbar,fragment,Java,Android,Animation,Android Actionbar,Fragment,以下是我希望发生的事情: 散文: ActionBar actionBar = getActivity().getActionBar(); actionBar.hide(); TextView someTextView = (TextView) rootView.findViewById(R.id.some_textview); Animation a = AnimationUtils.loadAnimation(getActivity(), android.R.anim.slide_in_le
ActionBar actionBar = getActivity().getActionBar();
actionBar.hide();
TextView someTextView = (TextView) rootView.findViewById(R.id.some_textview);
Animation a = AnimationUtils.loadAnimation(getActivity(), android.R.anim.slide_in_left);
int duration = 1000;
a.setDuration(duration);
someTextView.startAnimation(a);
wait(duration);
actionBar.show();
隐藏操作栏
。然后做一些动画。等一下。再次显示ActionBar
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// You can hide ActionBar here
getActivity().getActionBar().hide();
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
// getActivity().getActionBar().show();
// and according to you, use Handler
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
getActivity().getActionBar().show();
}
}, 3 * 1000);
}
});
someTextView.startAnimation(animation);
在基本代码中:
ActionBar actionBar = getActivity().getActionBar();
actionBar.hide();
TextView someTextView = (TextView) rootView.findViewById(R.id.some_textview);
Animation a = AnimationUtils.loadAnimation(getActivity(), android.R.anim.slide_in_left);
int duration = 1000;
a.setDuration(duration);
someTextView.startAnimation(a);
wait(duration);
actionBar.show();
实际上:
ActionBar actionBar = getActivity().getActionBar();
actionBar.hide();
TextView someTextView = (TextView) rootView.findViewById(R.id.some_textview);
Animation a = AnimationUtils.loadAnimation(getActivity(), android.R.anim.slide_in_left);
int duration = 1000;
a.setDuration(duration);
someTextView.startAnimation(a);
wait(duration);
actionBar.show();
当然,代码的编写方式并不符合我的要求。我尝试了几种解决方案,包括:(1)使用Thread.sleep
,(2)创建新的可运行文件
,(3)创建两个ActionBar的实例(一个用于隐藏,一个用于显示),甚至可能还有一些我不再记得的方法
基本上,到目前为止,结果是(1)整个时间都显示ActionBar
,(2)或者整个程序等待,显示ActionBar
,然后播放动画,或者(3)某个版本的相同无序运行
所以我想我的问题是:
ActionBar actionBar = getActivity().getActionBar();
actionBar.hide();
TextView someTextView = (TextView) rootView.findViewById(R.id.some_textview);
Animation a = AnimationUtils.loadAnimation(getActivity(), android.R.anim.slide_in_left);
int duration = 1000;
a.setDuration(duration);
someTextView.startAnimation(a);
wait(duration);
actionBar.show();
如何隐藏操作栏
,制作一两个动画,然后再次显示?(仅供参考:我在扩展片段
,而不是活动
)的类中运行此功能)使用。在动画
的末尾,再次显示操作栏
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// You can hide ActionBar here
getActivity().getActionBar().hide();
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
// getActivity().getActionBar().show();
// and according to you, use Handler
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
getActivity().getActionBar().show();
}
}, 3 * 1000);
}
});
someTextView.startAnimation(animation);
使用。在动画
的末尾,再次显示操作栏
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// You can hide ActionBar here
getActivity().getActionBar().hide();
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
// getActivity().getActionBar().show();
// and according to you, use Handler
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
getActivity().getActionBar().show();
}
}, 3 * 1000);
}
});
someTextView.startAnimation(animation);
非常感谢。看起来真不错。但是我如何让它在getActionBar().show()
(即,不立即显示ActionBar
)之前等待一段时间呢?是的,比方说:动画完成后,等待3秒钟,showActionBar
。效果很好!)谢谢,谢谢。看起来真不错。但是我如何让它在getActionBar().show()
(即,不立即显示ActionBar
)之前等待一段时间呢?是的,比方说:动画完成后,等待3秒钟,showActionBar
。效果很好!)非常感谢。