2017-06-12 20 views
0

アンドロイドスタジオに付属のアクションバーを実現しようとしています。このように見えます。enter image description hereブロックシャドウを表示せずに透明なアクションバーを作成する

私はアクションバーを透明にしようとしています。

私はthisthisなど多くのことを試しました。私はアンドロイドでxmlデザインとスタイリングの初心者です。ここで

がある私のstyles.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
     <!-- Customize your theme here. --> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorAccent</item> 
    </style> 

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> 

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> 

これを達成する方法はありますか? ありがとうございます。

答えて

2

これをスタイルファイルで行うのではなく、javaファイルに実装してみてください。この機能を使用するアクティビティに次の関数を挿入してください。アクティビティのコンテンツビューを設定する前に、onCreate()メソッドでこのメソッドを呼び出します。 APIレベル21以上でスムーズに動作します。

public void makeActivityFullscreenTransparent(){ 


    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN); 

    // Making notification bar transparent 
    if (Build.VERSION.SDK_INT >= 21) { 
     getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); 
    } 

    } 
+0

fitsSystemWindows =「真」..に感謝助けて –

+0

上記の数秒後にそのアクションバーが消えるようにしたい場合にも、同じ機能を実行する上に、良いコードがあれば最初の2行の機能を削除できます。 –

1

これを試してみてください:style.xmlで

enter image description here

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 
:活動で

<style name="AppTheme.ActionBar.Transparent" parent="AppTheme"> 
     <item name="android:windowContentOverlay">@null</item> 
     <item name="windowActionBarOverlay">true</item> 
     <item name="colorPrimary">@android:color/transparent</item> 
    </style> 

レイアウトでは

メイン要素に次の行を追加します

はアンドロイド:私たちは、通知バーに、後になります透明アクションバーを探しています

+0

一度私がオフィスに到着するとしようとします。 –

+0

確か:)そしてその結果によると –

+0

それは働いていません... –