2016-08-25 37 views
7

我正在编写一个应用程序,它将在嵌入式设备上,我需要删除标题栏和ContentOverlay旁边的ActionBar。 我找到了解决办法,并插在我的风格如下:WindowActivityBar = false不工作

<style name="NoActionBar" parent="@android:style/Theme.Holo.Light"> 
     <item name="android:windowActionBar">false</item> 
     <item name="android:windowNoTitle">true</item> 
     <item name="android:windowFullscreen">true</item> 
     <item name="android:windowContentOverlay">@null</item> 
</style> 

,并添加一行到我的活动AndroidManifest:

android:theme="@style/NoActionBar" 

,并在最后我没有标题栏,没有内容叠加,但是ActionBar仍然存在。请指教。我用android:theme="@android:style/Theme.Holo.Light"和我targetSdkVersion为18

+0

通过设置Action Bar false,您只需禁用操作栏,因此您需要通过在活动java文件中编写以下代码来隐藏它,以隐藏它。 getWindow()。requestFeature(Window.FEATURE_ACTION_BAR); getActionBar()。hide(); 这应该在setContentView()之前的顶部。 – Vickyexpert

+0

但是在我的活动中,Action Bar仍然正常工作。 –

+0

你明确设置工具栏吗?在你的活动? – Elltz

回答

1

在XML小错误可能会导致非常奇怪的问题,
这些并不总是由构建过程准确报告。
我倾向于改变XML,当我可以在java中完成时。
Java给你更多的控制。

programmatically remove action bar 
---------------------------------- 
from normal activity 

getActionbar().hide(); 
getActionbar().show(); 

if your using support activity 

getSupportActionBar().hide(); 
getSupportActionBar().show(); 

and from the Fragment you can do it 

getActivity().getActionbar().hide(); 
getActivity().getActionbar().show(); 

remove title bar 
---------------- 

public class ActivityName extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     // remove title 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN); 
     setContentView(R.layout.main); 
    } 
} 

ActionBar ContentOverlay 
------------------------ 
1) Request for actionbar overlay programmatically by calling 

     getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY); 

// this 'requestFeature()' must be requested from your activity 'onCreate()' method 
// before calling for 'setContentView(R.layout.my_layout)': 
2) set the actionbar color by calling setBackgroundDrawable() like so: 
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#00212121"))); 
-1

试着改变你的风格的父母是这样的:

parent="@android:style/Theme.Holo.Light.NoActionBar" 

<style name="NoActionBar" parent="@android:style/Theme.Holo.Light.NoActionBar"> 
    <item name="android:windowActionBar">false</item> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:windowFullscreen">true</item> 
    <item name="android:windowContentOverlay">@null</item> 

+0

也没有帮助: –

相关问题