Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t更改状态栏上的主题颜色android/xamarin_Android_Statusbar - Fatal编程技术网

Can';t更改状态栏上的主题颜色android/xamarin

Can';t更改状态栏上的主题颜色android/xamarin,android,statusbar,Android,Statusbar,我已经检查了所有解决方案,但non在我的案例中起了作用。我不明白为什么状态栏的颜色不会改变(默认为灰色) 在我定义的样式中: <style name="Base.Theme.DesignDemo" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">#2e662f</item> <item name="colorPrimaryDark">@co

我已经检查了所有解决方案,但non在我的案例中起了作用。我不明白为什么状态栏的颜色不会改变(默认为灰色) 在我定义的样式中:

 <style name="Base.Theme.DesignDemo" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">#2e662f</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">#4CAEE3</item>
  </style>  
我也试过这样的方法:

[Activity(Label = "", MainLauncher = true, Icon = "@drawable/icon")]
 [Activity(Label = "", Theme = "@style/Theme.DesignDemo",MainLauncher = true, Icon = "@drawable/icon")]

确保在AndroidManifest.xml文件中设置了android:targetSdkVersion,或者,如果愿意,也可以使用代码

您可以使用以下从Java翻译的代码以编程方式更改Xamarin Android应用程序的状态栏颜色:

if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
{
    // clear FLAG_TRANSLUCENT_STATUS flag:
    Window.ClearFlags(Android.Views.WindowManagerFlags.TranslucentStatus);

    //Window.ClearFlags(WindowManager.Pa WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    Window.AddFlags(Android.Views.WindowManagerFlags.DrawsSystemBarBackgrounds);

    // finally change the color
    Window.SetStatusBarColor(new Color(ContextCompat.GetColor(this, Resource.Color.colorPrimaryDark)));
}
确保您的主题使用的是
主题.AppCompat
样式,然后您的活动应该继承自
AppCompatActivity
。所以你应该有这样的东西:

[Activity(Label = "Dialogs Demo", MainLauncher = true, Icon = "@mipmap/icon", Theme = "@style/AppTheme")]
    public class MainActivity : AppCompatActivity
    {}
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
  <!-- Customize your theme here. -->
  <item name="colorPrimary">@color/colorPrimary</item>
  <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
  <item name="colorAccent">@color/colorAccent</item>
</style>
下面是一个示例样式:

[Activity(Label = "Dialogs Demo", MainLauncher = true, Icon = "@mipmap/icon", Theme = "@style/AppTheme")]
    public class MainActivity : AppCompatActivity
    {}
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
  <!-- Customize your theme here. -->
  <item name="colorPrimary">@color/colorPrimary</item>
  <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
  <item name="colorAccent">@color/colorAccent</item>
</style>

@颜色/原色
@颜色/原色暗
@颜色/颜色重音