4

xamarinフォームでAndroid上で上部のバーを削除します。私はを含むいくつかの解決策を試してみました

<item name="android:actionBarSize">0dp</item> 

または

var activity = (Activity)Forms.Context; 
this.Window.AddFlags(WindowManagerFlags.Fullscreen); 

または

RequestWindowFeature(WindowFeatures.NoTitle); 

や活動の文字列の

Theme = "@style/MainTheme.FullScreen" 

しかし、私は、歌詞、電池時間などを取り除いたり、解決してくれる解決策を見つけることができませんでしたが、私はトップバーと同じままです。どうすればそれを完全に削除できますか? iOSの

enter image description here

私が追加しました:

UIApplication.SharedApplication.SetStatusBarHidden(true, true); 

と作品を...しかし、アンドロイド、彼はいまいましい私を作っている:) ソリューションを?

があなたの特定の活動のためのあなたのテーマにこれら二つの項目を追加します。

は私が

私はXamarinフォーラムでこの同様の質問に答え

<?xml version="1.0" encoding="utf-8" ?> 
<resources> 
    <style name="MainTheme" parent="MainTheme.Base"> 
    </style> 
    <!-- Base theme applied no matter what API --> 
    <style name="MainTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!--If you are using revision 22.1 please use just windowNoTitle. Without android:--> 
    <item name="windowNoTitle">true</item> 
    <!--We will be using the toolbar so no need to show ActionBar--> 
    <item name="windowActionBar">false</item> 
    <!-- Set theme colors from http://www.google.com/design/spec/style/color.html#color-color-palette --> 
    <!-- colorPrimary is used for the default action bar background --> 
    <item name="colorPrimary">#2196F3</item> 
    <!-- colorPrimaryDark is used for the status bar --> 
    <!--<item name="colorPrimaryDark">#0084CA</item>--> 
    <!-- colorAccent is used as the default value for colorControlActivated 
     which is used to tint widgets --> 
    <item name="colorAccent">#2196F3</item> 
    <!-- You can also set colorControlNormal, colorControlActivated 
     colorControlHighlight and colorSwitchThumbNormal. --> 
    <item name="windowActionModeOverlay">true</item> 
    <!-- default --> 
    <item name="android:buttonStyle">@style/NoShadowButton</item> 

    <item name="android:datePickerDialogTheme">@style/AppCompatDialogStyle</item> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:windowFullscreen">true</item> 
    </style> 

    <style name="AppCompatDialogStyle" parent="Theme.AppCompat.Light.Dialog"> 
    <item name="colorAccent">#2196F3</item> 
    </style> 
    <style name="NoShadowButton" parent="android:style/Widget.Button"> 
    <item name="android:stateListAnimator">@null</item> 
    </style> 
</resources> 
+0

これをあなたのアクティビティに追加しようとしましたか? ' – Krumelur

+0

はい、動作しませんが、トップバーは非表示ではありません。[Activity(Label = "@ string/app_name"、MainLauncher = true、Theme = "@android:style/Theme.Black.NoTitleBar.Fullscreen")] –

答えて

4
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity 
{ 
    protected override void OnCreate(Bundle bundle) 
    { 

    this.Window.AddFlags(WindowManagerFlags.Fullscreen | WindowManagerFlags.TurnScreenOn); 
     if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop) 
     { 
      var stBarHeight = typeof(FormsAppCompatActivity).GetField("statusBarHeight", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); 
      if (stBarHeight == null) 
      { 
       stBarHeight = typeof(FormsAppCompatActivity).GetField("_statusBarHeight", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); 
      } 
      stBarHeight?.SetValue(this, 0); 
     } 
     base.OnCreate(bundle); 


     global::Xamarin.Forms.Forms.Init(this, bundle); 

     LoadApplication(new App()); 
    } 
} 
+1

あなたのコードが何をしているのかの説明を間違いなく含めてください。 – pijemcolu

0

私styles.xaml PCLフォームxamarin使用します。

<item name="android:windowNoTitle">true</item> 
<item name="android:windowFullscreen">true</item> 

https://forums.xamarin.com/discussion/comment/248555

EDIT:あなたのためにそれを容易にこれにあなたのスタイルを変更するには -

<resources> 
    <style name="MainTheme.FullScreen" parent="MainTheme.Base"> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:windowFullscreen">true</item> 
    </style> 
    <style name="MainTheme" parent="MainTheme.Base"> 
    </style> 
    <!-- Base theme applied no matter what API --> 
    <style name="MainTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!--If you are using revision 22.1 please use just windowNoTitle. Without android:--> 
    <!--We will be using the toolbar so no need to show ActionBar--> 
    <item name="windowActionBar">false</item> 
    <!-- Set theme colors from http://www.google.com/design/spec/style/color.html#color-color-palette --> 
    <!-- colorPrimary is used for the default action bar background --> 
    <item name="colorPrimary">#2196F3</item> 
    <!-- colorPrimaryDark is used for the status bar --> 
    <!--<item name="colorPrimaryDark">#0084CA</item>--> 
    <!-- colorAccent is used as the default value for colorControlActivated 
    which is used to tint widgets --> 
    <item name="colorAccent">#2196F3</item> 
    <!-- You can also set colorControlNormal, colorControlActivated 
    colorControlHighlight and colorSwitchThumbNormal. --> 
    <item name="windowActionModeOverlay">true</item> 
    <!-- default --> 
    <item name="android:buttonStyle">@style/NoShadowButton</item> 

    <item name="android:datePickerDialogTheme">@style/AppCompatDialogStyle</item> 
    </style> 

    <style name="AppCompatDialogStyle" parent="Theme.AppCompat.Light.Dialog"> 
    <item name="colorAccent">#2196F3</item> 
    </style> 
    <style name="NoShadowButton" parent="android:style/Widget.Button"> 
    <item name="android:stateListAnimator">@null</item> 
    </style> 
</resources> 
+0

いいえ、動作しない、私の幸運な日ではありません:) –

+0

これはこれを行うための公式な方法です。他の何かが私たちのテーマに混乱しているはずです。 styles.xmlに完全なテーマを追加できますか? – SuavePirate

+0

多分私は公式のテーマを追加しないでください?テーマを追加するにはどうしたらいいですか? –

0
if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop) 
{ 
    Window.AddFlags(WindowManagerFlags.TranslucentStatus); 

    return; 
} 

これだけでは、ステータスバーの下にビューを配置せず、むしろを取り除きますステータスバーの下に黒いスペース(高さ20px程度)があります。

関連する問題