2016-08-25 18 views
7

私は、埋め込みデバイス上にあるアプリケーションを作成していますが、TitleBarとContentOverlayの横にあるActionBarを削除する必要があります。 私は解決策を見つけて、私のスタイルに次のように挿入:WindowActivityBar = false not working

<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

偽のアクションバーを設定することであなただけのアクションバーを無効にしています。 getWindow()。requestFeature(Window.FEATURE_ACTION_BAR); getActionBar()。hide(); これはsetContentView()の直前にあるはずです。 – Vickyexpert

+0

しかし、私の活動ではアクションバーは正常に機能しています。 –

+0

明示的にツールバーを設定していますか?あなたの活動には? – Elltz

答えて

1

小さなミスは非常に奇妙な問題を引き起こす可能性があり、
は、ビルドプロセスによって常に正確に報告されるわけではありません。
私はJavaでそれを行うことができるとき、私は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" 

XMLで
<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

は役に立ちません。 –