0

私はMainActivity拡張しAppCompatActivityました。スライドジェスチャーで変更できるその3つのフラグメント。真ん中のアクションバーを削除したい。ユーザーが 1 番目または 3 番目のフラグメントにスライドしたときに、アクション バーを再度追加します。

私は以下のコードを持っています:

@Override
public void setMenuVisibility(boolean menuVisible) {
    super.setMenuVisibility(menuVisible);
    if(menuVisible && getActivity()!=null){
        getActivity().getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }
}

@Override
public void setMenuVisibility(boolean menuVisible) {
    super.setMenuVisibility(menuVisible);
    if(menuVisible){
        getActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }
}

しかし、それは私に以下の警告を与えています:

45コマ飛ばした!アプリケーションがメイン スレッドで処理しすぎている可能性があります。

私はそれを入れようとしました:

getActivity().runOnUiThread(new Runnable() {
    @Override
    public void run() {
         // hide / show action bar...
    }
});

アプリが遅い。どうすればスムーズにできますか?

4

1 に答える 1