現在Android上にXamarin Formsアプリを構築しています。一部のデバイスでXamarin.Formsのナビゲーションバーが色を変更しないのはなぜですか?
私は動的にアプリの上部にあるナビゲーションバーの色を変更しようとしています。 Android 4.1 API 17にロックされた古い携帯電話を使用してこれを正常に管理しましたが、動作しないので試したすべての他の携帯電話を使用しました。私が試してみました:
サムスンSM-G388Fを - アンドロイド5.1 API 22
Googleのピクセル - のAndroid 7.1 API
Screenshot - Older phone - works perfectly
Screenshot - Newer phones - does not work - simply inherits page background colour
もともと私はで定義されたDynamicResourceを使用していましたApp.xamlを使用して、使用していた環境に応じてBarBackgroundColourを変更する - Live/Test。他の2つのプロパティBackgroundColorとBarTextColorは正常に動作しています。 App.Current.Resources["navBarColour"] = App.Current.Resources["red"];
私が変更しようとしました:App.xaml.csでのアプリケーションの負荷に
<Color x:Key="navBarColour">#F4721C</Color>
<Style TargetType="NavigationPage">
<Setter Property="BackgroundColor" Value="{StaticResource pageBackground}"/>
<Setter Property="BarBackgroundColor" x:Key="navBar" Value="{DynamicResource navBarColour}"/>
<Setter Property="BarTextColor" Value="{StaticResource textColor}"/>
</Style>
設定
if (Settings.Environment.ToLower() == "live")
{
Application.Current.Resources["navBarColour"] = Application.Current.Resources["anglianLightBlue"];
}
else
{
Application.Current.Resources["navBarColour"] = Application.Current.Resources["red"];
}
また、ユーザーは、ここで設定]ページで環境を切り替える能力を持っていますこれはStaticResourceにあり、xamlで直接Color.Blackに設定しようとしましたが、それでも動作しません - どこでも変更する方法が見つからないようです。
私はこれについてグーグルで何か、または同様の問題で誰を見つけることができません。 これを経験した人は誰ですか?もしそうなら、彼らはどのようにこれを解決しましたか?