android状态栏一体化
2015-12-23 10:21
344 查看
支持 api >= 19
使用
public class StatusBarWrapper { private static final String STATUS_BAR_HEIGHT_RES_NAME = "status_bar_height"; private View mStatusBarView; public StatusBarWrapper(Activity activity) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { setupStatusBarView(activity); } } @TargetApi(19) private void setupStatusBarView(Activity activity) { Window win = activity.getWindow(); WindowManager.LayoutParams winParams = win.getAttributes(); final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; winParams.flags |= bits; win.setAttributes(winParams); mStatusBarView = new View(activity); LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, getStatusBarHeight(activity)); params.gravity = Gravity.TOP; mStatusBarView.setLayoutParams(params); mStatusBarView.setBackgroundResource(R.color.main);//只能用id mStatusBarView.setVisibility(View.VISIBLE); ((ViewGroup) activity.findViewById(android.R.id.content)).getChildAt(0).setFitsSystemWindows(true); ((ViewGroup) win.getDecorView()).addView(mStatusBarView); } public void setBackgroundResource(int resId) { if(mStatusBarView != null) { mStatusBarView.setBackgroundResource(resId); } } public int getStatusBarHeight(Activity activity) { Resources res = activity.getResources(); int result = 0; int resourceId = res.getIdentifier(STATUS_BAR_HEIGHT_RES_NAME, "dimen", "android"); if (resourceId > 0) { result = res.getDimensionPixelSize(resourceId); } return result; } }
使用
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); new StatusBarWrapper(this).setBackgroundResource(R.color.bg_click); } }
相关文章推荐
- Android解析json数组对象的方法及Apply和数组的三个技巧
- Android各种访问权限Permission详解
- [置顶] Java、Android、IOS通用的加密解密方法
- dc学习之基于Android Studio的jni开发总结
- Android学习路线指南
- Android编程下拉菜单spinner用法小结(附2则示例)
- Android实现截屏并保存操作功能
- android 之控件篇
- Android监测程序压入后台及从后台返回
- Android library中为什么不能使用switch-case语句访问资源ID
- Android随手笔记44之JSON数据解析
- Android 开始
- 记一次Android下载过程的内存优化
- Android中类ListPreference使用介绍
- Android之双指操作
- android小知识
- Android学习笔记45之gson解析json
- Android开源项目分类汇总
- Android应用开发中单元测试分析
- Android编程开发之Spinner控件用法实例分析