有没有安卓4.2.2可以用的安卓4.1沉浸式状态栏栏

本帖最后由 XIAO978 于
23:33 编辑
750.jpg (88.74 KB, 下载次数: 12)
23:28 上传
下面来教程
首先我们需要神器xposed
Xposed框架 Xposed Installer是一款可以在不编译修改APK(修改系统)情况下,运行框架服务能调用各种模块,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。
854.jpg (181.92 KB, 下载次数: 13)
23:28 上传
先安装xposed框架2.6,版本不能升级到最新。
在安装xinstaller,安装后进入xposed激活xinstaller,然后安装框架,确定重启,
重启后进xinstaller-安装设置,禁用检查sdk版本。
这时候FS状态栏变色1.0.5可以安装了,安装后激活FS状态栏变色,重启手机。
进入FS状态栏变色,状态栏颜色就变了!其实变色和沉浸式是两回事,开启显示配置按钮-显示退出后配置其他app就可以变色,系统自带的会自动变色
注意:FS变色和xposed框架不能升级到最新版,手机会无限重启
053.jpg (81.49 KB, 下载次数: 16)
23:28 上传
113.jpg (60.13 KB, 下载次数: 22)
23:28 上传
138.jpg (94.02 KB, 下载次数: 16)
23:28 上传
就可以安装fs动态变色了
246.jpg (63.18 KB, 下载次数: 10)
23:28 上传
有些应用要自己手动调色
354.jpg (38.55 KB, 下载次数: 10)
23:28 上传
742.jpg (74.62 KB, 下载次数: 11)
23:28 上传
教程结束后期效果图
503.jpg (93.99 KB, 下载次数: 11)
23:28 上传
526.jpg (85.35 KB, 下载次数: 25)
23:28 上传
557.jpg (93.74 KB, 下载次数: 15)
23:28 上传
618.jpg (373.47 KB, 下载次数: 20)
23:29 上传
不喜勿喷& &安卓4.3以上的跳过
所需材料链接地址:/share/link?shareid=&uk=&third=15
300.jpg (180.06 KB, 下载次数: 12)
23:32 上传
下面来教程
首先我们需要神器xposed
Xposed框架 Xposed Installer是一款可以在不编译修改APK(修改系统 ...
手机需要root吗
是不是要手机root的?
fs 变色栏无法安装,麻烦楼主重发一个
X3L表示无法使用
怅惘ヽ 发表于
fs 变色栏无法安装,麻烦楼主重发一个
按照教程来可以的!root了么?
怅惘ヽ 发表于
fs 变色栏无法安装,麻烦楼主重发一个
按照教程来一定可以的& &root了么?
玩爱影舞者 发表于
X3L表示无法使用
你婊哥 发表于
是不是要手机root的?
要的root权限
按照教程来可以的!root了么?
root了的这是安装fs变色栏的提示
344.jpg (36.83 KB, 下载次数: 3)
23:43 上传
【X7评测】1600万柔光自拍,为自拍而生
【X7美图】有了“你”就有了光,自拍神器vivo X7|图赏
【X7美图】静待邂逅,vivo X7图赏
【X7Plus美图】更美的大屏手机 vivo X7Plus「图赏」
【X7评测】夏日·乐悠悠|X7摄影美图系列
COPYRIGHT (C)
vivo COMMUNICATION TECHNOLOGY CO.LTD.ALL RIGHTS RESERVED.
成为vivo粉丝:
Powered by今天看啥 热点:
Android 4.4 沉浸式透明状态栏与导航栏,android4.4
Android 系统自4.2 开始 UI 上就没多大改变,4.4 也只是增加了透明状态栏与导航栏的功能,如图
那么现在我就来给大家讲解下如何使用这个新特性,让你的 app 跟随潮流,当然如果你不在乎外观就算了,
使用这个特性能开发出很漂亮的UI,尤其对于 google 原生系统,屏幕下方的导航栏白白占据一块屏幕空间,看起来很不爽
OK废话不多讲,开始讲技术吧,第一种方法,在代码设置:
if(VERSION.SDK_INT &= VERSION_CODES.KITKAT) {
& && && && && && && && && && &&&//透明状态栏
& && && && && && && && && && &&&getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
& && && && && && && && && && &&&//透明导航栏
& && && && && && && && && && &&&getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
& && && && && && && && &}
直接调用上面2行代码可以透明,但是你会发现你的 view 跑到 actionbar 上面去了,很明显 google 的意图是使你的 view 可以占据整个屏幕,然后 状态栏和导航栏 透明覆盖在上面很明显这样不可行。
那有没有办法使你的 view 保持原来大小呢?
有,你需要在这个 activity 的 layout xml 文件添加两个属性
&LinearLayout xmlns:android=&/apk/res/android&
& & android:layout_width=&fill_parent&
& & android:layout_height=&fill_parent&
& & android:gravity=&center_horizontal&
& & android:fitsSystemWindows=&true&
& & android:clipToPadding=&true&
& & android:orientation=&vertical& &
这样状态栏的背景就是你的 activity 的主背景,倘若actionbar 在,将会很难看,如图:
事实证明,google 并没有提供一个比较好的解决方案,他的 透明状态栏与导航栏的应用局限于,全屏阅读文字或玩游戏那种情景,
第二种方式,是是设置 theme 属性
android:theme=&@android:style/Theme.DeviceDefault.Light.NoActionBar.TranslucentDecor&
& && && && &android:theme=&@android:style/Theme.Holo.Light.NoActionBar.TranslucentDecor&
& && && && &android:theme=&@android:style/Theme.Holo.NoActionBar.TranslucentDecor&
如果你使用自定主题,只需在在 values-19 文件添加以下属性:
&style name=&AppBaseTheme& parent=&android:Theme.Holo.Light.DarkActionBar&&
& && &&&&!-- API 19 theme customizations can go here. --&
& && &&&&item name=&android:windowTranslucentStatus&&true&/item&
& && &&&&item name=&android:windowTranslucentNavigation&&true&/item&
& & &/style&
刚刚说了这个使用有局限性,不过好在有一个开源的东西
/jgilfelt/SystemBarTint
使用这个开源库,必须开启透明标题栏
使用这个主题
&style name=&AppBaseTheme& parent=&android:Theme.Holo.Light.DarkActionBar&&
& && &&&&!-- API 19 theme customizations can go here. --&
& && &&&&item name=&android:windowTranslucentStatus&&true&/item&
& && &&&&item name=&android:windowTranslucentNavigation&&true&/item&
& & &/style&
或者在setContentView之前调用这个代码
if(VERSION.SDK_INT &= VERSION_CODES.KITKAT) {
& && && && && && && && && && &&&//透明状态栏
& && && && && && && && && && &&&getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
& && && && && && && && && && &&&//透明导航栏
& && && && && && && && && && &&&getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
& && && && && && && && &}
暂无相关文章
相关搜索:
相关阅读:
相关频道:
Android教程最近更新有没有安卓4.1.1可用的沉浸式状态栏?_百度知道
有没有安卓4.1.1可用的沉浸式状态栏?
我有更好的答案
xposed变色龙状态栏
4.1.1可用吗
xposed和wsm有什么区别
wsm是MIUI专用的xposed框架
那是不是直接在WSM下搜索变色龙状态栏
打开xposed后就可以了不过要英文
怎么弄?xposed是一个独立的软件?
你是MIUI吗
WSM装好了么
已经装了WSM,Mitools,xposed installer
先把下面左边点开把xposed勾上再搜索
你是4.1.1?
下面xposed勾了么
【xposed框架】变色龙使用教程
下载那个你搜索的啊
那不就是变色龙状态栏吗
4.4才能用啊
模块安装好之后要不要再WSM下启用
看这贴教程
是不是还要重启?
重启好了之后呢
不建议用第三方的软件了
为什么?WSM和Mitools不可以用吗
我个人不太喜欢用第三方的软件代替
可是我喜欢沉浸式状态栏啊
可以用的,你可以下载试试
其他类似问题
为您推荐:
安卓的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁上传时间:
安卓4.2MIUI伪沉浸式状态栏效果
56官方微信
扫一扫发现精彩Android 沉浸式状态栏攻略 让您的状态栏变色吧 - Android
&&&&>>&& Android
Android 沉浸式状态栏攻略 让你的状态栏变色吧
转载请标明出处:
http://blog.csdn.net/lmj/article/details/;
本文出自:【张鸿洋的博客】
近期注意到QQ新版使用了沉浸式状态栏,ok,先声明一下:本篇博客效果下图:
关于这个状态栏变色到底叫「Immersive Mode」/「Translucent Bars」有兴趣可以去 为什么在国内会有很多用户把 ?透明栏?(Translucent Bars)称作 ?沉浸式顶栏??上面了解了解,请勿指点我说的博文标题起得不对,thx。
恩,接下来正题。
首先只有大于等于4.4版本支持这个半透明状态栏的效果,但是4.4和5.0的显示效果有一定的差异,所有本篇博文内容为:
如何实现半透明状态栏效果在大于4.4版本之上。
如何让4.4的效果与5.0的效果尽可能一致。
看了不少参考文章,都介绍到这个库,大家可以了解:SystemBarTint。
不过本篇博文并未基于此库,自己想了个hack,对于此库源码有空再看了。
二、效果图
先贴下效果图,以便和实现过程中做下对比
4.4 模拟器
[new]贴个如果顶部是图片的效果图,其实是一样的,为了方便我就放侧栏的顶部了。
稍等,csdn图片服务器异常…
ok,有了效果图之后就开始看实现了。
三、实现半透明状态栏
因为本例使用了NavigationView,所以布局代码稍多,当然如果你不需要,可以自己进行筛减。
注意引入相关依赖:
compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.android.support:support-v4:22.2.1'
compile 'com.android.support:design:22.2.0'
(一)colors.xml 和 styles.xml
首先我们定义几个颜色:
res/values/color.xml
&?xml version="1.0" encoding="utf-8"?&
name="primary"&#FF03A9F4&
name="primary_dark"&#FF0288D1&
name="status_bar_color"&@color/primary_dark&
下面定义几个styles.xml
注意文件夹的路径:
values/styles.xml
name="BaseAppTheme" parent="Theme.AppCompat.Light.NoActionBar"&
& =""&@color/primary&/item&
&item name="colorPrimaryDark"&@color/primary_dark&/item&
&item name="colorAccent"&#FF4081&/item&
name="AppTheme" parent="@style/BaseAppTheme"&
values-v19
name="AppTheme" parent="@style/BaseAppTheme"&
& =":windowTranslucentStatus"&&/&
ok,这个没撒说的。注意我们的主题是基于NoActionBar的,android:windowTranslucentStatus这个属性是v19开始引入的。
(二)布局文件
activity_main.xml
xmlns:android="/apk/res/android"
xmlns:app="/apk/res-auto"
xmlns:tools="/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/id_main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"&
android:id="@+id/id_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:fitsSystemWindows="true"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/&
android:id="@+id/id_tv_content"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center"
android:text="HelloWorld"
android:textSize="30sp"/&
android:id="@+id/id_nv_menu"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/header_just_username"
app:menu="@menu/menu_drawer"
DrawerLayout内部一个LinearLayout作为内容区域,一个NavigationView作为菜单。
注意下Toolbar的高度设置为wrap_content。
然后我们的NavigationView中又依赖一个布局文件和一个menu的文件。
header_just_username.xml
&?xml version="1.0" encoding="utf-8"?&
xmlns:android="/apk/res/android"
android:layout_width="match_parent"
android:layout_height="192dp"
android:background="?attr/colorPrimaryDark"
android:orientation="vertical"
android:padding="16dp"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark"&
android:id="@+id/id_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="16dp"
android:text="http://blog.csdn.net/lmj"/&
android:id="@+id/id_username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/id_link"
android:text="Zhang Hongyang"/&
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_above="@id/id_username"
android:layout_marginBottom="16dp"
android:src="@mipmap/ic_launcher"/&
menu的文件就不贴了,更加详细的可以去参考Android 自己实现 NavigationView [Design Support Library(1)]。
大体看完布局文件以后,有几个点要特别注意:
ToolBar高度设置为wrap_content
ToolBar添加属性android:fitsSystemWindows="true"
header_just_username.xml的跟布局RelativeLayout,添加属性android:fitsSystemWindows="true"
android:fitsSystemWindows这个属性,主要是通过调整当前设置这个属性的view的padding去为我们的status_bar留下空间。
根据上面的解释,如果你不写,那么状态栏和Toolbar就会有挤一块的感觉了,类似会这样:
ok,最后看下代码。
(三)Activity的代码
package com.zhy.
import android.os.B
import android.support.v7.app.AppCompatA
import android.support.v7.widget.T
public class MainActivity extends AppCompatActivity
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.id_toolbar);
setSupportActionBar(toolbar);
没撒说的,就是setSupportActionBar。
那么现在4.4的效果图是:
其实还不错,有个渐变的效果。
现在5.x的效果:
可以看到5.x默认并非是一个渐变的效果,类似是一个深一点的颜色。
在看看我们md的规范
状态栏应该是一个比Toolbar背景色,稍微深一点的颜色。
这么看来,我们还是有必要去为4.4做点适配工作,让其竟可能和5.x显示效果一致,或者说尽可能符合md的规范。
四、调整4.4的显示方案
那么问题来了?如何做呢?
咱们这么看,4.4之后加入windowTranslucentStatus的属性之后,也就是我们可以用到状态栏的区域了。
既然我们可以用到这块区域,那么我们只要在根布局去设置一个与状态栏等高的View,设置背景色为我们期望的颜色就可以了。
于是有了以下的代码:
package com.zhy.
import android.annotation.TargetA
import android.app.A
import android.content.C
import android.graphics.C
import android.os.B
import android.view.V
import android.view.ViewG
* Created by zhy on 15/9/21.
public class StatusBarCompat
private static final int INVALID_VAL = -1;
private static final int COLOR_DEFAULT = Color.parseColor("#");
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public static void compat(Activity activity, int statusColor)
if (Build.VERSION.SDK_INT &= Build.VERSION_CODES.LOLLIPOP)
if (statusColor != INVALID_VAL)
activity.getWindow().setStatusBarColor(statusColor);
if (Build.VERSION.SDK_INT &= Build.VERSION_CODES.KITKAT && Build.VERSION.SDK_INT & Build.VERSION_CODES.LOLLIPOP)
int color = COLOR_DEFAULT;
ViewGroup contentView = (ViewGroup) activity.findViewById(android.R.id.content);
if (statusColor != INVALID_VAL)
color = statusC
View statusBarView = new View(activity);
ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
getStatusBarHeight(activity));
statusBarView.setBackgroundColor(color);
contentView.addView(statusBarView, lp);
public static void compat(Activity activity)
compat(activity, INVALID_VAL);
public static int getStatusBarHeight(Context context)
int result = 0;
int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
if (resourceId & 0)
result = context.getResources().getDimensionPixelSize(resourceId);
代码的思路很简单,根据Activity找到android.R.content,在其中添加一个View(高度为statusbarHeight,背景色为我们设置的颜色,默认为半透明的黑色)。
那么只需要在Activity里面去写上:
pat(this);
就可以了。
如果你希望自己设置状态看颜色,那么就用这个方法:
pat(this, getResources().getColor(R.color.status_bar_color));
这样的话我们就解决了4.4到5.x的适配问题,一行代码解决,感觉还是不错的。
最后提一下,对于5.0由于提供了setStatusBarColor去设置状态栏颜色,但是这个方法不能在主题中设置windowTranslucentStatus属性。所以,可以编写一个value-v21文件夹,里面styles.xml写入:
name="AppTheme" parent="@style/BaseAppTheme"&
其实就是不要有windowTranslucentStatus属性。
接下来,对于默认的效果就不测试了,参考上面的效果图。
我们测试个设置状态栏颜色的,我们这里设置个红色。
4.4 模拟器
ok,这样就结束啦~~
源码地址:/hongyangAndroid/ColorfulStatusBar
欢迎关注我的微博:
群号:,欢迎入群
微信公众号:hongyangAndroid
(欢迎关注,第一时间推送博文信息)
/archive//android-and-the-transparent-status-bar.aspx
//making-the-status-bar-and-navigation-bar-transparent-with-a-listview-on-android-4-4-kitkat/
/a/anzhuokaifa/androidkaifa/92.html
/intl/zh-cn/reference/android/view/View.html#attr_android:fitsSystemWindows
版权声明:本文为博主原创文章,未经博主允许不得转载。

我要回帖

更多关于 安卓开发沉浸式状态栏 的文章

 

随机推荐