2017-06-23 75 views
0

我需要添加標誌和文字是這樣的:如何添加一個標誌和文字在工具欄或導航欄

標誌的左側和右側文本中的工具欄或導航欄:

標誌MyCompany的

我嘗試下面的代碼:

從P1到MainMenuPage

--in P1:

使用方法1:

NavigationPage NP = new NavigationPage(new MainMenuPage()) 
    { 
      Title = "Company Name", 
      Icon = "itemIcon1", 
      BarBackgroundColor = Color.Blue, 
      BarTextColor = Color.DarkGray 
    }; 

    App.Current.MainPage = NP; 

這種方法 - 它會顯示在導航欄,但沒有圖標,沒有文字

---在P1使用方法2:

await Navigation.PushModalAsync(new MainMenuPage()); 
  • 這種方法,它根本不顯示導航欄!

即使我把它放在MainMenuPage中。工具欄不會顯示!

<ContentPage.ToolbarItems> 
    <ToolbarItem Name="MenuItem1" Order="Primary" Icon="Microsoft.png" Text="Item 1" Priority="0" /> 
    <ToolbarItem Name="MenuItem2" Order="Primary" Icon="Xamarin.png" Text="Item 2" Priority="1" /> 
</ContentPage.ToolbarItems> 
下面

是MainMenuPage:

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="MainMenuPage"> 
    <StackLayout Orientation="Horizontal" HorizontalOptions="Fill" BackgroundColor="Olive"> 
    <StackLayout Orientation="Vertical"> 
     <Label Text = "welcome" FontSize="24"/> 
     <Label Text = "Show Company Logo"/> 
    </StackLayout> 
    </StackLayout>  
</ContentPage> 

想對大家有幫助這個由你。

感謝

回答

0

你有兩個這樣做。

1解決方案: 你不顯示導航欄,但你在Xamarin.Forms手動創建它。您還可以在導航頁,但你加這個在您的內容頁面的構造函數:

NavigationController.SetNavigationBarHidden (true, true); 

然後在頁面中手動建立自己的導航欄。

第二個解決方案: 您與您的內容頁的自定義渲染這樣做(和導航頁面並非渲染器)。

在iOS設備上,你可以有這樣的:

public class ContentPageSubtitleRenderer : PageRenderer 
{ 
    //Call this method when you need it 
    // It can be in OnElementChanged and/or when a property is updated 
    private void SetBar() 
    { 
      var navigationItem = NavigationController.TopViewController.NavigationItem; 

      navigationItem.TitleView = myUIView; 
    } 
} 
+0

我需要同時擁有的Droid和iOS表現出同樣的事情。對於iOS,你可以一步一步告訴我如何實現自定義渲染器嗎?任何簡單的示例讓我學習。謝謝 – MilkBottle