我想在活动开始时隐藏操作栏,当用户触摸屏幕时显示几秒钟,然后再次隐藏。
我想出的就在下面,但我想知道我是否可以做得更好(忽略一些风格问题:幻数、逻辑重复等)。
我正在使用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); }