当前位置: 首页 > news >正文

公司主页的网站格式正规网络公司关键词排名优化

公司主页的网站格式,正规网络公司关键词排名优化,久久建筑网站下载,装修网站排行榜前十名有哪些Android状态栏适配是一个老生常谈的问题,那么我又拿出来讲了,因为这个东西确实太重要了,基本上每个项目都用得到。状态栏总共有几种形态。第一,让状态栏颜色跟应用主色调一致,布局内容不占有状态栏的位置。第二&#x…

Android状态栏适配是一个老生常谈的问题,那么我又拿出来讲了,因为这个东西确实太重要了,基本上每个项目都用得到。状态栏总共有几种形态。第一,让状态栏颜色跟应用主色调一致,布局内容不占有状态栏的位置。第二,让布局内容的顶部成为状态栏的一部分,状态栏透明。第三,有DrawerLayout的情况,侧边栏滑出来,一半侧边栏的顶部界面,一半内容的顶部界面,且不透明。

让状态栏颜色跟应用主色调一致,布局内容不占有状态栏的位置

设置非全屏的状态栏颜色

/*** 设置不全屏内容的状态栏颜色。** @param activity       需要设置的activity* @param statusBarColor 状态栏颜色值* @param statusBarAlpha 状态栏透明度*/
public static void setStatusBar(Activity activity, @ColorInt int statusBarColor, @IntRange(from = 0, to = 255) int statusBarAlpha) {if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {// >= 6.0 支持根据状态栏颜色定制浅色和深色的文字和图标activity.getWindow().setStatusBarColor(statusBarColor);int option;if (isDarkColor(statusBarColor)) {// 深色状态栏,则让状态栏文字和图标变白option = View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;} else {// 浅色状态栏,则让状态栏文字和图标变黑option = View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_VISIBLE;}activity.getWindow().getDecorView().setSystemUiVisibility(option);} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {// 5.xactivity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);activity.getWindow().setStatusBarColor(calculateColor(statusBarColor, statusBarAlpha));} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {// 4.4 自己创建一个色块加到DecorViewactivity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();View doraStatusBarView = decorView.findViewById(DORA_STATUS_BAR_VIEW_ID);if (doraStatusBarView != null) {if (doraStatusBarView.getVisibility() == View.GONE) {doraStatusBarView.setVisibility(View.VISIBLE);}doraStatusBarView.setBackgroundColor(calculateColor(statusBarColor, statusBarAlpha));} else {decorView.addView(createStatusBarView(activity, statusBarColor, statusBarAlpha));}setFitsSystemWindow(activity);} else {// < 4.4 不可定制,黑色状态栏,无解}
}

检测状态栏的颜色,以确定用深色还是浅色的文字和图标

/*** 状态栏是否是深色。** @param color 状态栏颜色值*/
public static boolean isDarkColor(@ColorInt int color) {int gray = (int) (Color.red(color) * 0.299 + Color.green(color) * 0.587 + Color.blue(color) * 0.114);return gray >= 192;
}

自己创建一个和状态栏一样高度的色块。

/*** 生成一个和状态栏大小相同的矩形条。** @param activity 需要设置的activity* @param color    状态栏颜色值* @param alpha    状态栏透明度* @return 状态栏矩形条*/
private static View createStatusBarView(Activity activity, @ColorInt int color, int alpha) {// 绘制一个和状态栏一样高的矩形View statusBarView = new View(activity);LinearLayout.LayoutParams params =new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, getStatusBarHeight(activity));statusBarView.setLayoutParams(params);statusBarView.setBackgroundColor(calculateColor(color, alpha));statusBarView.setId(DORA_STATUS_BAR_VIEW_ID);return statusBarView;
}

根布局设置fitsSystemWindow

private static void setFitsSystemWindow(Activity activity) {ViewGroup parent = (ViewGroup) activity.findViewById(android.R.id.content);for (int i = 0, count = parent.getChildCount(); i < count; i++) {View childView = parent.getChildAt(i);if (childView instanceof ViewGroup) {childView.setFitsSystemWindows(true);((ViewGroup) childView).setClipToPadding(true);}}
}

获取状态栏的高度

private static int getStatusBarHeight(Context context) {int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");return context.getResources().getDimensionPixelSize(resourceId);
}

计算带透明度后的颜色

private static int calculateColor(@ColorInt int color, int alpha) {if (alpha == 0) {return color;}float a = 1 - alpha / 255f;int red = color >> 16 & 0xff;int green = color >> 8 & 0xff;int blue = color & 0xff;red = (int) (red * a + 0.5);green = (int) (green * a + 0.5);blue = (int) (blue * a + 0.5);return 0xff << 24 | red << 16 | green << 8 | blue;
}

让布局内容的顶部成为状态栏的一部分,状态栏透明

public static void setFullScreenStatusBar(Activity activity) {if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);activity.getWindow().setStatusBarColor(Color.TRANSPARENT);} else {activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);}activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
}

DrawerLayout设置状态栏颜色

设置DrawerLayout的状态栏一半的颜色

public static void setStatusBar(Activity activity, DrawerLayout drawerLayout, @ColorInt int statusBarColor,@IntRange(from = 0, to = 255) int statusBarAlpha) {if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {return;}if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);activity.getWindow().setStatusBarColor(Color.TRANSPARENT);} else {activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);}ViewGroup contentLayout = (ViewGroup) drawerLayout.getChildAt(0);View doraStatusBarView = contentLayout.findViewById(DORA_STATUS_BAR_VIEW_ID);if (doraStatusBarView != null) {if (doraStatusBarView.getVisibility() == View.GONE) {doraStatusBarView.setVisibility(View.VISIBLE);}doraStatusBarView.setBackgroundColor(statusBarColor);} else {contentLayout.addView(createStatusBarView(activity, statusBarColor), 0);}if (!(contentLayout instanceof LinearLayout) && contentLayout.getChildAt(1) != null) {contentLayout.getChildAt(1).setPadding(contentLayout.getPaddingLeft(), getStatusBarHeight(activity) + contentLayout.getPaddingTop(),contentLayout.getPaddingRight(), contentLayout.getPaddingBottom());}setFitsSystemWindow(drawerLayout, contentLayout);addStatusBarView(activity, statusBarAlpha);
}

设置fitsSystemWindow

private static void setFitsSystemWindow(DrawerLayout drawerLayout, ViewGroup drawerLayoutContentLayout) {ViewGroup drawer = (ViewGroup) drawerLayout.getChildAt(1);drawerLayout.setFitsSystemWindows(false);drawerLayoutContentLayout.setFitsSystemWindows(false);drawerLayoutContentLayout.setClipToPadding(true);drawer.setFitsSystemWindows(false);
}

添加状态栏View

/*** 添加半透明矩形条。** @param activity       需要设置的 activity* @param statusBarAlpha 状态栏透明度*/
private static void addStatusBarView(Activity activity, @IntRange(from = 0, to = 255) int statusBarAlpha) {ViewGroup contentView = (ViewGroup) activity.findViewById(android.R.id.content);View doraStatusBarView = contentView.findViewById(DORA_STATUS_BAR_VIEW_ID);if (doraStatusBarView != null) {if (doraStatusBarView.getVisibility() == View.GONE) {doraStatusBarView.setVisibility(View.VISIBLE);}doraStatusBarView.setBackgroundColor(Color.argb(statusBarAlpha, 0, 0, 0));} else {contentView.addView(createTranslucentStatusBarView(activity, statusBarAlpha));}
}
http://www.hkea.cn/news/766366/

相关文章:

  • 海外如何 淘宝网站建设快速seo整站优化排行
  • 代还信用卡网站建设赣州seo顾问
  • 响应式网站建设推广开网店
  • 成都专业网站推广公司优化大师优化项目有
  • 怎么用wordpress搭建网站百度关键词排名点
  • 外挂网站模板域名搜索引擎入口
  • 手机网站开发 pdfseo搜索引擎优化工作内容
  • 上海中小网站建设洛阳seo博客
  • 南宁网站建设公司哪家专业搜索引擎优化包括
  • 新疆住房与建设厅网站新产品推广方式有哪些
  • 做网站站怎么赚钱网络营销模式有哪些?
  • 南通城市建设集团有限公司网站南京谷歌推广
  • 南通网站定制方案怎么查找关键词排名
  • 权大师的网站是哪个公司做的百度做个人简介多少钱
  • 烟台网站建设设计软文广告经典案例100字
  • 做微信用什么网站广州百度seo代理
  • 网站建设目标 优帮云跨境电商营销推广
  • 郑州华恩科技做网站怎么样竞价排名适合百度吗
  • flask做大型网站开发深圳seo博客
  • 合肥网站建设平台小程序怎么引流推广
  • 做网站被拘留免费找客源软件
  • 门户型网站建设百度seo快速提升排名
  • 印度做杂质的网站如何进行网络推广
  • 建设厅八大员兴安盟新百度县seo快速排名
  • 南京网站建设索q.479185700小说排行榜百度
  • 幼儿做爰网站seo工程师是什么职业
  • 申请空间 建立网站吗西安百度推广运营
  • 做花馍网站百度联盟
  • 沈阳建设企业网站google浏览器官网
  • 毕业论文 网站开发营销qq下载