2014-12-24 6 views
0

Как изменить цвет панели действий и вернуть горизонтальную линию?xamarin forms - цвет панели действий

У меня есть успешное приложение для Android, разработанное на родном ксамаринском андроиде. Теперь я пытаюсь перенести его в Xamarin Forms с помощью подхода xaml.

Я создал приложение hello world и добавил элемент панели инструментов contentPage. Когда я изначально запускаю приложение, панель действий видна с моим значком, обычным фоном для чирок и хорошей горизонтальной линией. Однако после того, как мой код формы запускается, он отображает мой значок, значок инструментальной панели, но фон черный, и нет горизонтальной линии.

Я пробовал NavigationPage.BackgroundColor, и это не повлияло. Я думаю, что я делаю что-то маленькое.

Вот мой xaml.

<?xml version="1.0" encoding="utf-8" ?> 
<ContentPage.Title> My Sample </ContentPage.Title> 

<ContentPage.ToolbarItems> 
     <ToolbarItem Name="test" Icon="ic_action_refresh" ></ToolbarItem> 
    </ContentPage.ToolbarItems> 


<Label Text="Hello Forms" VerticalOptions="Center" HorizontalOptions="Center" /> 

</ContentPage> 

Вот мой app.cs

public class App 
{ 
public static Page GetMainPage() 
{ 
    var nav = new NavigationPage(new Splash()); 
    nav.BackgroundColor = Color.Teal; 
    return nav; 
} 
} 

Я хотел бы также, чтобы скрыть ActionBar по умолчанию при запуске и идти с полной заставкой, но я нашел эту нить, которая выглядит как Будем работать. http://forums.xamarin.com/discussion/18290/hiding-the-status-bar-and-the-action-bar-in-android-app

+0

попытку установить NavigationPage.BarBackgroundColor – StefanoM5

ответ

0

Я понял. Я использовал шаблон по умолчанию в VS2013, а ссылка на библиотеку Xamarin.Forms.Core была версия 1.0. С тех пор было несколько обновлений, и один из них устранил проблему. Я только что обновил с помощью nuget до последней версии и начал работать.

0

Мне было очень повезло с помощью следующего метода при создании NavigationPage, при этом ключ был бы свойством BarBackgroundColor, являющимся ключом к настройке цвета самой панели. Основная граница должна по-прежнему присутствовать. Вы также можете использовать любой метод из цвета, который вам нравится, а не только метод FromHex.

private Page GetNavigationPage(Page innerPage){ 
    var navigation = new NavigationPage (innerPage); 
    navigation.BarBackgroundColor= Color.FromHex ("#00263A"); 
     return navigation; 
} 
0

Это то, что я сделал.

в App.xaml, добавьте следующие строки и она работает в обоих прошивкой и Android

<Style TargetType="NavigationPage"> 
<Setter Property="BarBackgroundColor" Value="whatever color value here"/> 
</Style>