Я хочу скрыть панель действий при запуске действия и когда пользователь коснется экрана, покажет его на несколько секунд, а затем снова спрячет его.Задержка скрыть и показать ActionBar?
То, что я придумал, находится чуть ниже, но я хочу знать, есть ли что-нибудь лучшее, что я мог бы сделать (игнорируя некоторые проблемы стиля: магические числа, дублирование логики и т. Д.).
И я использую actionbarsherlock.
Благодаря
Runnable hideActionbarRunnable = new Runnable() { @Override public void run() { ActionBar bar = getSupportActionBar(); bar.hide(); } }; Runnable showActionbarRunnable = new Runnable() { @Override public void run() { ActionBar bar = getSupportActionBar(); bar.show(); } }; Runnable animateActionBarHide = new Runnable() { @Override public void run() { handler.postDelayed(hideActionbarRunnable,3000); } }; Runnable animateActionBarShow = new Runnable() { @Override public void run() { handler.post(showActionbarRunnable); handler.postDelayed(hideActionbarRunnable,3000); } }; @Override protected void onResume() { super.onResume(); Log.i(MainActivity.TAG,"CameraActivity: onResume called"); Thread t = new Thread(animateActionBarHide); t.start(); } @Override public boolean onTouchEvent(MotionEvent event) { ActionBar bar = getSupportActionBar(); if(event.getAction() == MotionEvent.ACTION_DOWN) { Thread t = new Thread(animateActionBarShow); t.start(); } else { Thread t = new Thread(animateActionBarHide); t.start(); } return super.onTouchEvent(event); }
awesome.thanks. полностью забыл об этом методе. – cbrulak