2016-06-23 15 views
8

Czy jest jakaś szansa, że ​​mogę usunąć pasek tytułu aplikacji w Xamarin.Forms? Pracuję nad projektem Xamarin.Forms Portable. Próbowałem wielu rozwiązań, ale nie działałem, nie mogłem nawet uruchomić aplikacji.Jak usunąć pasek tytułu aplikacji (Android) w Xamarin.Forms?

Pierwsza próba Próbowałem dodając to do mojego AndroidManifest.xml, nie działa:

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

Druga próba Próbowałem tworzenia styles.xml w Resources/wartości, która brzmiała:

<?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> 

A potem dodałem to do mojego AndroidManifest.xml (nie działało)

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

Trzecia próba Próbowałem dodać to do mojej metody OnCreate w MainActivity.cs (nie działa).

RequestWindowFeature(WindowFeatures.NoTitle); 

Czy ktoś może mi w tym pomóc?

Odpowiedz

3

Można to zrobić w 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); 

Jeśli używasz starego FormsApplicationActivity, spróbować, dodać to w onCreate (Bundle wiązki) Metoda

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

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

Ten jeden wydaje się zrobić aplikację szerokie ustawienie, ale nie jestem tego taki pewien, ponieważ nie używam już FormsApplicationActivity.

+0

Nie jestem pewien, gdzie muszę wstawić ten kod. Czy możesz mi powiedzieć, gdzie powinienem? Mam na myśli, który plik i które miejsce (np. App.cs -> publiczna metoda App()) – Szandi

+0

@Szandi zobacz edytowaną odpowiedź – Bonelol

+0

Czy edytowałeś ją teraz? Nie widzę tego, tylko te edytowane 10 godzin temu. – Szandi

3

Korzystanie z najnowszej wersji Xamarin.Forms stwierdziliśmy, że jeśli używasz:

await Navigation.PushAsync(new NextPage()) 

// Tytuł jest wyświetlany na NextPage

await Navigation.PushModalAsync(new NextPage()) 

// Tytuł na NextPage nie jest wyświetlany

Nathan

+0

To działa dobrze na mojej NextPage, ale co ze stroną, z której się poruszam? – Szandi

+0

To jest najlepsza odpowiedź, szczególnie gdy masz pierwszy formularz, który przeniesie Cię do następnego formularza z szufladą nawigacji –

2

Jeśli chcesz usunąć pasek tytułu na ini Strona TiAl, najszybszy i najprostszy sposób to zrobić to udać się do do contentpage pozycją w XAML dla strony i wpisać

NavigationPage.HasNavigationBar = „false”

tak XAML chciałby coś jak to

<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) 
Powiązane problemy