Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.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
状态栏覆盖图像在android Nough中下移_Android_Xamarin.forms_Xamarin.android_Statusbar_Android 7.0 Nougat - Fatal编程技术网

状态栏覆盖图像在android Nough中下移

状态栏覆盖图像在android Nough中下移,android,xamarin.forms,xamarin.android,statusbar,android-7.0-nougat,Android,Xamarin.forms,Xamarin.android,Statusbar,Android 7.0 Nougat,我正在尝试在xamarin forms android中向状态栏添加图像。。 但图像完全向下移动,并处于我在android nougat中设置的正常状态栏颜色下 这是在我将xamarin表单版本更新为2.4.0.74863时发生的 在2.3.4.270中,其工作状态良好。这是xamrin表单问题还是我的代码问题 我用来在状态栏上绘制覆盖图的代码是 activity.Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds);

我正在尝试在xamarin forms android中向状态栏添加图像。。 但图像完全向下移动,并处于我在android nougat中设置的正常状态栏颜色下

这是在我将xamarin表单版本更新为2.4.0.74863时发生的 在2.3.4.270中,其工作状态良好。这是xamrin表单问题还是我的代码问题

我用来在状态栏上绘制覆盖图的代码是

activity.Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds);
                activity.Window.ClearFlags(WindowManagerFlags.TranslucentStatus);
                activity.Window.SetStatusBarColor(Android.Graphics.Color.Transparent);

ViewGroup contentView = (ViewGroup)activity.FindViewById(Android.Resource.Id.Content);
            //if (contentView.ChildCount > 1)
            //{
            //  contentView.RemoveViewAt(1);
            //}

            // get status bar height
            int res = activity.Resources.GetIdentifier("status_bar_height", "dimen", "android");
            int height = 0;
            if (res != 0)
                height = activity.Resources.GetDimensionPixelSize(res);


            // create new imageview and set resource id
            ImageView image = new ImageView(activity);
            LinearLayout.LayoutParams params1 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, height);
            params1.Width = LinearLayout.LayoutParams.MatchParent;
            image.LayoutParameters = params1;
            image.SetImageResource(imageRes);

            image.SetScaleType(ImageView.ScaleType.FitXy);

            // add image view to content view
            contentView.AddView(image);
            contentView.SetFitsSystemWindows(true);
我从xaml页面将其称为dependedncy

编辑

在我添加@york提到的标志后,底部导航栏变得半透明,应用程序视图下降


只需在
活动中添加以下代码即可
样式:

<style name="MyTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    ...
    <item name="android:windowTranslucentStatus">false</item>
    <item name="android:windowTranslucentNavigation">true</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>

...
假的
真的
@android:彩色/透明
效果:


我已经在我的
Xamarin.Forms
项目中测试了你的代码,我的版本代码是2.4.0.74863,在myside上运行良好,你能分享一个基本的演示来重现这个问题吗?为确保我们正在验证与您使用的完全相同的内容。@YorkShen MSFT您是否可以检查应用
android:fitsSystemWindows=“true”
到您的根布局中的代码。我已添加contentView.SetFitsSystemWindows(true);当我加上true时,底部导航栏变成半透明,应用程序屏幕出现了任何问题,我们可以修复它。你能检查下菜单中的编辑吗question@GeorgeThomas,您是如何编写底部导航栏的?请把你的密码贴出来,你能不能贴一张更完整的照片?