[英]hide / show action bar in fragment
我有MainActivity
扩展AppCompatActivity
。 在那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...
}
});
应用程式落后。 如何使它平滑?
在中间Fragment
的onResume
回调中添加以下代码Fragment
AppCompatActivity activity = (AppCompatActivity) getActivity();
if (activity != null) {
activity.getSupportActionBar().hide();
}
并在其他两个Fragment
的onResume
回调中添加
AppCompatActivity activity = (AppCompatActivity) getActivity();
if (activity != null) {
activity.getSupportActionBar().show();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.