我目前正在尝试更改应用程序的外观。
该应用程序使用3个片段,这些片段可以根据网络状态变化进行调用。片段全部设置为横向,这导致动作栏成为屏幕的很大一部分。我试图找到一种方法来完全删除操作栏,并允许布局扩展到整个屏幕。
我已经尝试过类似的事情:
getActionBar()。hide();
主题更改
setSystemUiVisibility();
这些选项将在应该显示的屏幕上创建一个较大的栏,或者始终显示操作栏。
我认为这与片段工作的方式有关,我只是不了解。
答案 0 :(得分:0)
如果您使用的是AppCompatActivity,请按照以下步骤进行操作。
((AppCompatActivity )getActivity()).getSupportActionBar();
答案 1 :(得分:0)
如果您想从应用程序中完全删除 ActionBar (AppBar),请按照以下步骤操作:
- 转到您的
AndroidManifest.xml
- 编辑此行:
android:theme="@style/{theme}">
至android:theme="@style/Theme.AppCompat.Light.NoActionBar">
或 以NoActionBar
结尾的任何内容。
如果您只想从Fragment
中删除 ActionBar ,则在Fragment的onCreateView()中添加下一个代码:
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // create ContextThemeWrapper from the original Activity Context with the custom theme final Context contextThemeWrapper = new ContextThemeWrapper(getActivity(), R.style.yourCustomTheme); // clone the inflater using the ContextThemeWrapper LayoutInflater localInflater = inflater.cloneInContext(contextThemeWrapper); // inflate the layout using the cloned inflater, not default inflater return localInflater.inflate(R.layout.yourLayout, container, false); }
或者,如果您想从活动中删除 ActionBar ,请将这一行代码添加到活动的onCreate()方法中。
setTheme(R.style.{your style}
记住
- {style}应该以{{1}}结尾
最重要的是,在这两行代码之前之前添加代码(将其添加到方法顶部):
NoActionBar
希望这个答案有所帮助!