4

ユーザーが画面上の任意の場所をクリックすると、アクションバーが非表示になり、もう一度押すと再び表示されます。

actionbar.hide()と呼ばれるものがあることを私は知っています。と表示しますが、それを実装する方法を教えていただけますか?:)

4

2 に答える 2

15

ただhide()

getActionBar().hide();

非表示にしたい場合は、show()を使用します。

getActionBar().show() 

あなたがそれを見せたいとき。それについてです。

View.SYSTEM_UI_FLAG_FULLSCREENを使用している場合、これは正しく機能しないことに注意してください。

于 2013-03-10T20:32:16.743 に答える
1

これを試して。ここで、提案に従って、非表示または表示メソッドを呼び出す可能性があります

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 に答える