状态栏叠加图像在android没有下移

时间:2017-11-13 10:15:24

标签: android xamarin.forms xamarin.android statusbar android-7.0-nougat

我正在尝试将图像添加到xamarin表单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页面的依赖性。

修改

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

Bottom navigation bar

1 个答案:

答案 0 :(得分:1)

只需在temp = list.files(pattern="*.csv") read_csv_filename <- function(filename){ ret <- read.csv(filename,header = F) ret$city <- gsub(".*[_]([^.]+)[.].*", "\\1", filename) colnames(ret) <- c("Age","Gender","height","weight","city") ret } df_all <- do.call(rbind,lapply(temp,read_csv_filename)) 样式中添加以下代码:

Activity

效果:

enter image description here