0

在应用程序中,主屏幕上有工具栏,它具有适用于工具栏的样式。使用片段作为背景透明的对话框执行过渡效果。 现在,隐藏在使用工具栏/ actiobar下面的代码NoTitleNoActionBar主题没有隐藏工具栏/ ActionBar在Android中的片段?

public void onStop() 
{ 
    super.onStop(); 
    ((AppCompatActivity)getActivity()).getSupportActionBar().show(); 
} 


@Override 
public void onResume() 
{ 
    super.onResume(); 
    ((AppCompatActivity)getActivity()).getSupportActionBar().hide(); 

} 现在,有了这个代码,整个屏幕的背景上升如此跳跃屏幕略有上升,现在当关闭对话框再次重新出现。所以有什么特定的方式来隐藏actionbar/toobar的particualr屏幕。现在,对于活动,很容易隐藏具有指定的主题的操作栏/工具栏;

<style name="Theme.project.NoTitleNoActionBar" parent="Theme.project"> 
     <item name="android:windowNoTitle">true</item> 
     <item name="android:windowActionBar">false</item> 
     <item name="android:windowIsTranslucent">true</item> 
     <item name="android:windowBackground">@android:color/transparent</item> 
</style> 

但是,当应用于片段它不显示任何效果设置主题使用以下行;

@Override 
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) 
{ 
    getActivity().setTheme(R.style.Theme_project_NoTitleNoActionBar); 
    return super.onCreateView(inflater, container, savedInstanceState); 
} 

仍存在同样的问题。所以如何隐藏这样的prolem的操作栏/工具栏?任何帮助赞赏。 谢谢。

+0

如果您调用Activity#setTheme,则应该重新创建它。所以你的代码没有效果。我认为使用Activity#setTheme可能不是正确的方法。 – Kilnn

+0

@Kilnn什么是正确的方式? – Swift

回答

0

转到values文件夹中的styles.xml文件,并将父标记添加为Theme.AppCompat.Light.NoActionBar。请参阅以下代码

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 
+0

为什么所有项目都包含颜色变化?我需要隐藏特定屏幕上的工具栏/操作栏?仍然会尝试它,谢谢 – Swift

+0

不工作队友。 – Swift