不能更改状态栏上的主题颜色android/xamarin
问题描述:
我已经检查了所有的解决方案,但没有在我的案例中工作。我不知道为什么状态栏的颜色会发生变化(这是默认的灰色) 在我的风格定义:不能更改状态栏上的主题颜色android/xamarin
<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>
在AndroidManifest:
<application android:label="App1" android:theme="@style/Theme.DesignDemo" android:icon="@drawable/icon">
以及活动我里面打电话是这样的:
[Activity(Label = "", MainLauncher = true, Icon = "@drawable/icon")]
我也尝试过这样的事情:
[Activity(Label = "", Theme = "@style/Theme.DesignDemo",MainLauncher = true, Icon = "@drawable/icon")]
答
确保在AndroidManifest.xml文件中设置了android:targetSdkVersion
,或者如果您愿意,也可以使用代码。
您可以更改状态栏颜色Xamarin的Android用下面的代码与Java编程翻译应用程式:
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)));
}
确保你的主题是使用Theme.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>