2014-07-12 5 views
1

Comment modifier la visibilité de l'ActionBar dans toutes les pages d'une application Android dans un projet Xamarin Forms. J'ai utilisé ActionBar.Hide() dans l'activité principale mais il ne se cache que dans la première page. Je veux le cacher dans chaque page mais je ne peux pas accéder à chaque page dans le code spécifique android car ils sont construits en PCL. Y a-t-il un moyen de le faire?Masquage de la barre d'action Android dans le projet Xamarin PCL

Répondre

1

Vous devez utiliser Thème sans barre d'action dans votre application. Ex, vous pouvez spécifier l'application Attribut somewere dans votre application:

[assembly: Application(Icon = "@drawable/Icon" Theme = "@android:Theme.Holo.Light.NoActionBar")] 

Ou vous pouvez le configurer dans AndroidManifaset.xml

<application android:theme="@android:style/Theme.Holo.Light.NoActionBar" /> 

UPD Bien sûr les paramètres de thème doit être fait dans le projet Android , mais cela affectera sur chaque page même en PCL.

+0

Il n'a pas aidé. Il affiche toujours ActionBar – fantaseador

+0

Une autre option est de créer votre propre thème dans Resources/values ​​/ Style.xml (en créer un s'il n'y a pas) comme il http://stackoverflow.com/a/14061826/1558147 Et l'utiliser comme show in answer "' Theme = "@ style/MyTheme" ' – ad1Dima

+1

L'ajout de ceci à mon manifeste bloque en fait mon application avec une exception NullReferenceException sur SetPage dans MainActivity – Jesse

3

Une meilleure option est d'appeler:

global::Xamarin.Forms.Forms.SetTitleBarVisibility(Xamarin.Forms.AndroidTitleBarVisibility.Never) 

ou

var page = App.GetMainPage(); 
Xamarin.Forms.NavigationPage.SetHasNavigationBar(page, true) 

ou XAML

<ContentPage 
    xmlns="http://xamarin.com/schemas/2014/forms" 
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
    x:Class="Mobile.Views.NewsFeedSearchView" 
    NavigationPage.HasNavigationBar="{Binding IsFullScreen}"/> 
Questions connexes