2016-06-23 20 views
8

C'è qualche possibilità che io possa rimuovere la barra del titolo dell'app in Xamarin.Forms? Sto lavorando a un progetto Xamarin.Forms Portable. Ho provato molte soluzioni, ma nessuno dei due ha funzionato, non ho nemmeno potuto avviare l'app.Come rimuovere la barra del titolo dell'app (Android) in Xamarin.Forms?

Primo tentativo Ho provato ad aggiungere questo al mio AndroidManifest.xml, non ha funzionato:

android:theme="@android:style/Theme.NoTitleBar" 

Secondo tentativo Ho cercato di creare uno styles.xml in Risorse/valori, che era:

<?xml version="1.0" encoding="utf-8" ?> 
<resources xmlns:android="http://schemas.android.com/apk/res/android"> 
    <style name="Theme.Default" parent="@android:style/Theme"></style> 
    <style name="Theme.NoTitle" parent="@android:style/Theme.NoTitleBar"></style> 
    <style name="Theme.FullScreen" parent="@android:style/Theme.NoTitleBar.Fullscreen"></style> 
</resources> 

E poi ho aggiunto questo al mio AndroidManifest.xml (non funzionavano)

android:theme="@style/Theme.NoTitle" 

Terzo tentativo Ho provato ad aggiungere questo al mio metodo OnCreate in MainActivity.cs (non ha funzionato).

RequestWindowFeature(WindowFeatures.NoTitle); 

Qualcuno può aiutarmi con questo?

risposta

3

Questo può essere fatto in PCL:

var page = new LoginPage(); 
NavigationPage.SetHasNavigationBar(page, false); // call this method every time before you push a page (no title bar) 
await navigation.PushAsync(page); 

Se si utilizza vecchio FormsApplicationActivity, prova, aggiungere questo in OnCreate (bundle bundle) Metodo

protected override void OnCreate(Bundle bundle) 
{ 
    base.OnCreate(bundle) 

    Forms.SetTitleBarVisibility(AndroidTitleBarVisibility.Never); 
    Forms.Init(this, bundle); 
} 

questo sembra fare l'applicazione impostazione ampia, ma non ne sono così sicuro, in quanto non utilizzo più FormsApplicationActivity.

+0

Non sono sicuro di dove devo inserire questo codice. Potresti dirmi dove dovrei? Intendo quale file e quale luogo (ad esempio App.cs -> metodo App() pubblico) – Szandi

+0

@Szandi, vedere la risposta modificata – Bonelol

+0

La modifica è stata eseguita adesso? Non riesco a vederlo, solo quelli modificati 10 ore fa. – Szandi

3

Utilizzando l'ultima versione di Xamarin.Forms ho scoperto che se si utilizza:

await Navigation.PushAsync(new NextPage()) 

// titolo sul NextPage viene visualizzato

await Navigation.PushModalAsync(new NextPage()) 

// Titolo su NextPage non viene visualizzata

Nathan

+0

Funziona bene sul mio NextPage, ma per quanto riguarda la pagina da cui mi muovo? – Szandi

+0

Questa è la migliore risposta specialmente quando hai un primo modulo che ti porta al modulo successivo con un Cassetto di navigazione –

2

Se si desidera rimuovere la barra del titolo ini Pagina ziale, il modo più rapido e più semplice per farlo è quello di andare alla contentpage voce nel vostro XAML per la pagina e digitare

NavigationPage.HasNavigationBar = "false"

in modo che il codice XAML vorrebbe qualcosa Ti piace questa

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
      xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
      x:Class="YourClass.YourPage" 
      NavigationPage.HasNavigationBar="False"> 
0
Theme = "@android:style/Theme.NoTitleBar" 

.

using Android.App; 
using Android.OS; 
using Android.Webkit; 
using Android.Views; // Webkit required for WebView 

namespace LoadWebPage { 
    [Activity(Label = "LoadWebPage", MainLauncher = true, Icon = "@drawable/icon", Theme = "@android:style/Theme.NoTitleBar")] 
    public class Activity1 : Activity { 
     protected override void OnCreate (Bundle bundle) 
Problemi correlati