4

当用户单击屏幕上的任意位置时,我希望操作栏隐藏,再次按下时它应该重新出现。

我知道有一个东西叫做 actionbar.hide(); 并展示,但你能帮我如何实现它吗?:)

4

2 回答 2

15

只是隐藏()

getActionBar().hide();

当你想隐藏它,并使用show()

getActionBar().show() 

当你想展示它。就是这样。

请记住,如果您使用View.SYSTEM_UI_FLAG_FULLSCREEN,这将无法正常工作。

于 2013-03-10T20:32:16.743 回答
1

试试这个。您可以根据您的建议调用 hide 或 show 方法

public class AbstractActivity Activity {

   private boolean showActions = false;


   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);

      ActionBar bar = getSupportActionBar();
      if (bar != null) {
         bar.setHomeButtonEnabled(true);
         bar.setDisplayShowHomeEnabled(true);
      }
   }

   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      return super.onCreateOptionsMenu(menu);
   }

   @Override
   public boolean onOptionsItemSelected(MenuItem item) {
      int id = item.getItemId();
      switch (id) {
      case android.R.id.home:

         return true;
      default:
         // Nothing to do here
         return super.onOptionsItemSelected(item);
      }
   }

   private void handleActionBarTitle(boolean show) {
      ActionBar actionBar = getSupportActionBar();
      if (actionBar == null) {
         return;
      }
      actionBar.setDisplayShowTitleEnabled(show);
   }


   protected void disableActions() {
      this.showActions = false;
   }

   protected void enableActions() {
      this.showActions = true;
   }

   protected void hideActionBarTitle() {
      handleActionBarTitle(false);
   }

   protected boolean showActions() {
      return showActions;
   }

   protected void showActionTitle() {
      handleActionBarTitle(true);
   }

您的活动只需要扩展此 AbstractActivity

于 2013-03-10T20:40:49.640 回答