SlidingMenu实现透明状态栏
来源:互联网 发布:office2016for mac安装 编辑:程序博客网 时间:2024/05/16 15:39
1.透明状态栏实现
下沉式:
<item name="android:windowTranslucentStatus">true</item><item name="android:windowTranslucentNavigation">true</item><item name="android:statusBarColor">@android:color/transparent</item> 全透明(5.1):getWindow().requestFeature(Window.FEATURE_NO_TITLE);if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(Color.TRANSPARENT); window.setNavigationBarColor(Color.TRANSPARENT); 不占用statusbar:android:fitsSystemWindows="true"android:clipToPadding="true"
2.SlidingMenu实现透明状态栏
因为自定义view是无法实现下沉式状态栏的
SlideMenu的源码可知,SlideMenu是利用ViewGroup来作为ViewAbove和ViewBehind的容器,而这里的ViewAbove和ViewBehind就是分别代表我们的主界面布局文件和菜单布局文件。
沉浸式状态栏是仅仅支持Layout和TextView等几种控件的沉浸效果的,而且如果Layout里面的第一个控件为ImageView,沉浸效果也是无法实现的
####################################################
所以这里问题是怎么顶到屏幕最上面,那就是在slidingmenu的布局中添加一个可以顶到上层的控件(如下方式参考网上)方案二:(当做view控件使用时)SlideMenu本身是继承了RelativeLayout的,所以理所当然的它也可以在布局文件中作为view而存在,而这种自定义view是无法直接实现沉浸式效果的,那么,曲线救国的方式就来了,我们利用一个RelativeLayout包裹住该SlideMenu,然后在该View之前加入一个高度为1dp的TextView,这里只需把该TextView的Visibity设置为Gone即可不对应用产生任何影响。方案一:ViewGroup中加入TextView或者其他控件作为顶部控件来实现
我自己使用的应该是提到的第一种方法:
ViewGroup decor = (ViewGroup) activity.getWindow().getDecorView();ViewGroup decorChild = (ViewGroup) decor.getChildAt(0);// save ActionBar themes that have transparent assetsdecorChild.setBackgroundResource(background);decor.removeView(decorChild);//decor.addView(this);RelativeLayout relativeLayout = new RelativeLayout(activity);TextView textView = new TextView(activity);textView.setFitsSystemWindows(true);relativeLayout.addView(textView);relativeLayout.addView(this);decor.addView(relativeLayout);setContent(decorChild);break;
0 0
- SlidingMenu实现透明状态栏
- SlidingMenu实现沉浸式状态栏
- Android 透明状态栏实现
- Android实现透明状态栏
- android实现透明状态栏
- 透明状态栏的实现
- Android 透明状态栏实现
- 透明状态栏实现
- Android状态栏--实现状态栏全透明
- 如何实现透明式状态栏
- Android透明状态栏的实现
- 状态栏的透明效果实现
- Android 透明状态栏实现方案
- 沉浸式状态栏(变色状态栏、透明状态栏)的实现
- 安卓实现状态栏透明主题
- 安卓4.4后实现透明状态栏
- 安卓4.4后实现透明状态栏
- Android实现4.4以上系统状态栏透明
- mysql的视图
- 操作系统——基本概念
- Spark进阶(二)
- 51Nod 1049 最大子段和
- Python实例:网络爬虫抓取豆瓣3万本书(8)
- SlidingMenu实现透明状态栏
- 公私钥数据签名
- java Method用法
- 【Python】从爬虫开始吧——爬取妹子图整站
- 安装Android应用出错:Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]
- ubuntu + nohup
- CI-搭建
- jquery $.getScript优缺点
- java反射机制中的getDeclaredField()