2017-04-22 10 views
0

Xamarinフォームポータブルクラスライブラリのトップ/通知バーの色を変更しようとしています。私は、以下のものを使用して試してみました:Androidトップバーの色を変更する

MainPage.SetValue(NavigationPage.BarTextColorProperty, Color.FromHex(#424242); 

出典:最初のインスタンス/コードでhttps://theconfuzedsourcecode.wordpress.com/2016/02/12/setting-the-navigationbar-colors-in-xamarin-forms/

アプリが起動し、しかし:Xamarin.Forms - Change StatusBar Color

私も

public App() 
{ 
    MainPage = new NavigationPage(new Page1()) 
    { 
     BarBackgroundColor = Color.FromHex("#424242"), 
     BarTextColor = Color.White, 
    }; 
} 

ソースを使用して試してみました画面を読み込んでいるときにスタックします。 Xamarinを初めて使用しているので、コンソールに何も表示されていないため、エラーログをどこで見つけるか分かりません。

2番目のインスタンス/コードでは、アプリケーションは通知バーの下のアプリケーション/の上に領域を表示しますが、通知バー自体は表示しません。

誰かが正しい方向に私を導くことを願っています。

おかげ

+0

あなたは私の答えを確認しましたか?何の問題? –

+0

ねえ、私はそれを試してNexusエミュレータで起動しましたが、システムバーはまだデフォルト(青色)で表示されます。私は解決策を作り直しましたが、私が間違っていることはわかりません。ヘルプbtwを感謝します:) – SakshamInABox

+0

あなたのエミュレータのOSはどちらのアンドロイド版ですか? –

答えて

0

あなたの第一の方法は、通知バーの(したがって、「前景色」と言うために)テキストの色を変更しようとしているとあなたの第二の方法は、ナビゲーションバーの背景色を変更しようとしている、とあなたが言ったので、 :

第2のインスタンス/コードでは、アプリケーションは通知バーの下のアプリケーション/の上に領域を表示しますが、通知バー自体は表示しません。

アプリケーションのナビゲーションバーではなく、システムのステータスバーの背景色を変更したいと思います。その後、PCLではなく、あなたのアンドロイドプロジェクトでのみ変更することができます。例えば

、アンドロイドプロジェクトのあなたのMainActivityを開いて、このようなOnCreate方法変更:

protected override void OnCreate(Bundle bundle) 
{ 
    TabLayoutResource = Resource.Layout.Tabbar; 
    ToolbarResource = Resource.Layout.Toolbar; 

    base.OnCreate(bundle); 

    global::Xamarin.Forms.Forms.Init(this, bundle); 
    LoadApplication(new App()); 

    Window.ClearFlags(WindowManagerFlags.TranslucentStatus); 
    Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds); 
    Window.SetStatusBarColor(Color.LightPink); 
} 
関連する問題