当前位置:首页 » 安卓系统 » android44透明状态栏

android44透明状态栏

发布时间: 2022-09-09 22:34:21

① 怎么把安卓手机状态栏变透明就是最上方黑色的那一条,这样壁纸就可以全屏显示。

这个需要ROOT手机,刷入状态栏透明的rom包。具体的手机型号有具体的操作,rom包可以到你机型论坛里找。

② android状态栏怎么设置透明

android 5.0可以全透明 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);

③ 如何将状态栏设置透明

Android4.4以后, 可以将状态栏设置为透明, 或者任意颜色
1. 全屏模式

最基本的在4.4版本之下会加载默认的values/styles.xml, 如果在4.4版本会加载 values-v19/styles.xml, 5.0以上加载 values-v21/styles.xml文件. 具体配置如下:

values/styles.xml

<style name="ImageTranslucentTheme" parent="AppTheme">
<!--在Android 4.4之前的版本上运行,直接跟随系统主题--></style>123

values-v19/styles.xml

<style name="ImageTranslucentTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
</style>1234

values-v21/styles.xml

<style name="ImageTranslucentTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:windowTranslucentStatus">false</item>
<item name="android:windowTranslucentNavigation">true</item>
<!--Android 5.x开始需要把颜色设置透明,否则导航栏会呈现系统默认的浅灰色-->
<item name="android:statusBarColor">@android:color/transparent</item>
</style>

④ 如何实现Android透明导航栏

实现功能

1.步骤:

1) 创建一个工程,主布局就先做一个ImageView,自己找个好看的图片做src。
2) 在Activity重写的onCreate方法中获得窗口视图对象(DecorView)
3) 设置DecorView的SystemUiVisibility
4) 设置导航条、状态栏的颜色–>透明
5) 获取当前Activity的ActionBar并隐藏

2.具体代码和注释:

获取DecorView对象

java">@Override
protectedvoidonCreate(BundlesavedInstanceState){
...
ViewdecorView=getWindow().getDecorView();
...
}

设置SystemUiVisibility

intoption=View.SYSTEM_UI_FLAG_FULLSCREEN//全屏标记
|View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN//布局全屏标记,避免退出全屏模式时内容被覆盖
|View.SYSTEM_UI_FLAG_HIDE_NAVIGATION//隐藏导航栏标记
|View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION//布局隐藏导航栏标记,同理
|View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY//粘性沉浸体验
|View.SYSTEM_UI_FLAG_LAYOUT_STABLE;//确保上述标记稳定//此方法用来设置系统UI的可见性,系统UI包括状态栏、ActionBar、导航栏devorView.setSystemUiVisibility(option);

设置状态栏、导航栏的颜色:

getWindow().setStatusBarColor(Color.TRANSPARENT);//Color.TRANSPARENT=0表示#00000000即透明颜色
getWindow().setNavigationBarColor(Color.TRANSPARENT);

获取本页面的ActionBar并隐藏起来

ActionBaractionBar=getSupportActionBar();//注意:此处用的Activity继承的是
AppCompatActivity(它继承的是FragmentActivity)
//所以调用的是getSupport...方法,如果继承Activity则直接调用get...方法
assertactionBar!=null;//这一句可以不理会,反正我是Ctrl+F1提示出来的,意思其实是判断如果actionBar不为空则向下执行。
actionBar.hide();

注意:最后一点注意事项是:只支持Android API 21以上的手机

⑤ 如何才能去掉安卓4.4.4的状态栏阴影

沉浸式通知栏Android4.4以上才支持的新特性。4.3不支持。 具体实现方式如下: 1.新建个公共style,设置android:fitsSystemWindows=true <!-- 设置应用布局时是否考虑系统窗口布局;true --> <style name="AppBaseTheme" parent="android:Theme.Light.NoTitleBar"> <item name="android:fitsSystemWindows">true</item> </style> 2. 修改AndroidManifest.xml,让所有的activity样式默认设置为AppBaseTheme(*不同项目要灵活处理,笔者项目的activity样式都是统一的所以这样设置没问题,但是实际情况下不同的activity可能调用的样式不一样,需要读者自行按自己的项目来设置) <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppBaseTheme" android:name="****"> 3.新增沉浸式通知栏实现类,实现原理很简单。 1)判断当前系统版本是不是4.4以上,判断代码如下: if (VERSION.SDK_INT >= VERSION_CODES.KITKAT) 2)如果大于4.4则设置状态栏透明化,代码如下: window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 3)获取activity的根rootView(DecorView),然后创建一个新的view stateBarView并把它添加到rootView(这里手动给它设置个ID,下次进来时先判断rootView是否已创建stateBarView,如果已创建则直接获取该View这样可以防止重复创建,导致内存泄露) ...沉浸式通知栏Android4.4以上才支持的新特性。4.3不支持。 具体实现方式如下: 1.新建个公共style,设置android:fitsSystemWindows=true <!-- 设置应用布局时是否考虑系统窗口布局;true --> <style name="AppBaseTheme" parent="android:Theme.Light.NoTitleBar"> <item name="android:fitsSystemWindows">true</item> </style> 2. 修改AndroidManifest.xml,让所有的activity样式默认设置为AppBaseTheme(*不同项目要灵活处理,笔者项目的activity样式都是统一的所以这样设置没问题,但是实际情况下不同的activity可能调用的样式不一样,需要读者自行按自己的项目来设置) <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppBaseTheme" android:name="****"> 3.新增沉浸式通知栏实现类,实现原理很简单。 1)判断当前系统版本是不是4.4以上,判断代码如下: if (VERSION.SDK_INT >= VERSION_CODES.KITKAT) 2)如果大于4.4则设置状态栏透明化,代码如下: window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 3)获取activity的根rootView(DecorView),然后创建一个新的view stateBarView并把它添加到rootView(这里手动给它设置个ID,下次进来时先判断rootView是否已创建stateBarView,如果已创建则直接获取该View这样可以防止重复创建,导致内存泄露) 以下是具体代码实现: import android.annotation.SuppressLint;import android.app.Activity;import android.content.res.Resources;import android.graphics.drawable.Drawable;import android.os.Build;import android.view.Gravity;import android.view.View;import android.view.ViewGroup;import android.view.Window;import android.view.WindowManager;import android.widget.FrameLayout.LayoutParams;/** * 沉浸式通知栏公共类 * @author hurrican * */@SuppressLint({ "InlinedApi", "ResourceAsColor" })public class ImmersedNotificationBar { private Activity activity ; //设置沉浸式通知栏的ID(防止重复创建) private final static int IMMERSED_NOTIFICATION_BAR_ID = 12345678 ; private final static String STATUS_BAR_HEIGHT_RES_NAME = "status_bar_height" ; public ImmersedNotificationBar(Activity activity){ this.activity = activity ; } //获取状态栏高度 private int getStatusBarHeight(Resources res){ int statusBarHeight = 0; int resourceId = res.getIdentifier(STATUS_BAR_HEIGHT_RES_NAME, "dimen", "android"); if (resourceId > 0) { statusBarHeight = res.getDimensionPixelSize(resourceId); } return statusBarHeight ; } //添加顶部状态栏 private View addStateBar(Activity activity,ViewGroup rootView,int statusBarHeight){ //创建新的View,并添加到rootView顶部) View statusBarView ; if(null!=rootView.findViewById(IMMERSED_NOTIFICATION_BAR_ID)){ statusBarView = rootView.findViewById(IMMERSED_NOTIFICATION_BAR_ID); }else{ statusBarView = new View(activity); rootView.addView(statusBarView); } statusBarView.setId(IMMERSED_NOTIFICATION_BAR_ID) ; LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT,statusBarHeight); params.gravity = Gravity.TOP; statusBarView.setLayoutParams(params); statusBarView.setVisibility(View.VISIBLE); return statusBarView ; } /** * 设置状态栏颜色 * @param ColorId */ public void setStateBarColor(int ColorId){ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { Window window = activity.getWindow(); //activity的顶级布局 ViewGroup rootView = (ViewGroup) window.getDecorView(); //透明化状态栏 window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); Resources res = activity.getResources(); //获取状态栏目的高度 int statusBarHeight = getStatusBarHeight(res); View stateBarView = addStateBar(activity,rootView,statusBarHeight) ; stateBarView.setBackgroundColor(ColorId) ; } } /** * 设置状态栏颜色 * @param ColorId */ public void setStateBarDrawable(Drawable drawable){ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { Window window = activity.getWindow(); //activity的顶级布局 ViewGroup rootView = (ViewGroup) window.getDecorView(); //透明化状态栏 window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); Resources res = activity.getResources(); //获取状态栏目的高度 int statusBarHeight = getStatusBarHeight(res); View stateBarView = addStateBar(activity,rootView,statusBarHeight) ; stateBarView.setBackgroundDrawable(drawable) ; } }}收起

⑥ 如何把安卓4.2的状态栏改成透明的

1.反编辑systemUI.apk

2.打开res\layout\status_bar.xml

3.把第2行里面的android:background="@drawable/status_bar_background" 改成android:background="#00000000"

4.再打开res\values\drawables.xml

5.把37行的"status_bar_background">#ff1e1e1e改成"status_bar_background">#00000000

自己修改半透明颜色的编码 #3F000000 - 75% 黑透明 , #7F000000 - 50% 黑透明 , #BF000000 - 25% 黑透明

6.回编辑

7.用winrar打开SystemUI.apk

8.把回编辑好的status_bar.xml
拉到res\layout\下 保存方式选择存储

9.把回编辑好的resources.arsc 拉到SystemUI.apk下 保存方式选择存储

10.把修改好的SystemUI.apk复制到system/app下替换
——————————————
摘自安智论坛

⑦ 安卓状态栏下拉透明

安卓设置状态栏下拉透明的方法为:

准备工作:手机必须是已经ROOT,一台电脑,RE文件管理器

第一步:用RE管理器进入系统文件system/app(这里就是系统文件夹),将systemUI.apk复制到储存卡(sdcard)。

热点内容
在配置更新的时候没电关机怎么办 发布:2024-05-18 20:36:10 浏览:926
win7访问win2000 发布:2024-05-18 20:27:41 浏览:387
青岛人社局密码多少 发布:2024-05-18 20:19:10 浏览:733
无法存储呼叫转移 发布:2024-05-18 20:18:30 浏览:125
数据库的调优 发布:2024-05-18 20:18:29 浏览:345
sqlserver注册表清理 发布:2024-05-18 20:13:14 浏览:990
linux删除连接 发布:2024-05-18 20:06:56 浏览:821
linux搭建云服务器平台 发布:2024-05-18 19:52:21 浏览:401
安卓怎么关闭美易订阅 发布:2024-05-18 19:29:16 浏览:643
苹果手机配置代理服务器怎么开 发布:2024-05-18 19:29:07 浏览:230