我想在活动开始时隐藏操作栏,当用户触摸屏幕时显示几秒钟,然后再次隐藏。
我想出的就在下面,但我想知道我是否可以做得更好(忽略一些风格问题:幻数、逻辑重复等)。
我正在使用actionbarsherlock。
谢谢
可运行 hideActionbarRunnable = new Runnable() {
@覆盖
公共无效运行(){
ActionBar bar = getSupportActionBar();
bar.hide();
}
};
可运行 showActionbarRunnable = new Runnable() {
@覆盖
公共无效运行(){
ActionBar bar = getSupportActionBar();
bar.show();
}
};
Runnable animateActionBarHide = new Runnable() {
@覆盖
公共无效运行(){
handler.postDelayed(hideActionbarRunnable,3000);
}
};
Runnable animateActionBarShow = new Runnable() {
@覆盖
公共无效运行(){
handler.post(showActionbarRunnable);
handler.postDelayed(hideActionbarRunnable,3000);
}
};
@覆盖
受保护的无效 onResume() {
超级.onResume();
Log.i(MainActivity.TAG,"CameraActivity: onResume 调用");
线程 t = new Thread(animateActionBarHide);
t.start();
}
@覆盖
公共布尔 onTouchEvent(MotionEvent 事件){
ActionBar bar = getSupportActionBar();
if(event.getAction() == MotionEvent.ACTION_DOWN)
{
线程 t = 新线程(animateActionBarShow);
t.start();
}
别的
{
线程 t = new Thread(animateActionBarHide);
t.start();
}
返回 super.onTouchEvent(event);
}