你是否曾想过,状态栏设置app和<...> 状态栏之间是否存在联系?在本文中,小编将为您探索它们之间的关系,带您领略新的视角和见解。

android状态栏颜色怎么跟着app改变

android布局 layout relativelayout

状态栏设置app?《...》 状态栏

除了沉浸模式外,Android 4.4还有新的API,能使应用内的状态栏和虚拟按钮透明。其他更多的Android 4.4 APIs可以看这里。

如果要使应用内的状态栏和虚拟按钮变成透明有两种方法。

一种是代码方式:

?1

2

状态栏设置app?《...》 状态栏

3Window window= getWindow();

window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,

WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION,

WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

另外一种是使用两个新的主题风格:

Theme.Holo.NoActionBar.TranslucentDecor和Theme.Holo.Light.NoActionBar.TranslucentDecor。

但是这种方式只支持Android4.4以上系统,所以为了保持兼容性,我们还是采用代码方式比较好。只需要先判断,如果是4.4以上系统才启用代码。

开启后上下系统栏都透明了。

但是如果应用本身是带有actionbar或者标题栏的话会就会变得比较尴尬,内容会在上面露出来。这个时候需要在布局文件里加入android:fitsSystemWindows="true"。

android:id="@+id/layout"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="#c8c8c8">

android:id="@+id/listview"

android:layout_width="match_parent"

android:layout_height="match_parent"/>

但是这样的话内容就不能从透明的虚拟按钮下穿过,没原来那么好看。我们可以按照以前一样把根布局设置一个高度为系统栏高度和ActionBar高度的内边距就可以。

同时关于获取ActionBar和状态栏的高度,发现用原来的方法有时候会获取的值为0。自己google找了一下,找到两个前辈提供的获取高度方法,获取ActionBar高度,获取状态栏高度。

8if(android.os.Build.VERSION.SDK_INT> 18){

Window window= getWindow();

window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,

WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION,

WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

//设置根布局的内边距

RelativeLayout relativeLayout=(RelativeLayout)

findViewById(R.id.layout);

relativeLayout.setPadding(0, getActionBarHeight()+getStatusBarHeight(), 0,

0);

}

27//获取手机状态栏高度

public int getStatusBarHeight(){

Class c= null;

Object obj= null;

Field field= null;

int x= 0, statusBarHeight= 0;

try{

c= Class.forName("com.android.internal.R$dimen");

obj= c.newInstance();

field= c.getField("status_bar_height");

x= Integer.parseInt(field.get(obj).toString());

statusBarHeight= getResources().getDimensionPixelSize(x);

} catch(Exception e1){

e1.printStackTrace();

}

return statusBarHeight;

}

//获取ActionBar的高度

public int getActionBarHeight(){

TypedValue tv= new TypedValue();

int actionBarHeight= 0;

if(getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true))//

如果资源是存在的、有效的

{

actionBarHeight= TypedValue.complexToDimensionPixelSize(tv.data,

getResources().getDisplayMetrics());

}

return actionBarHeight;

}

接下来,因为我自己写的一些应用是暗色的主题的,会导致透明的状态栏和ActionBar颜色不太协调。看到有一些应用是把状态栏的颜色设置成和ActionBar一样,这种解决方法也不错。

具体是怎么实现的也不太清楚,我自己猜测写了一个差不多状态栏。我是直接在根视图加入一个高度为状态栏高度的TextView,背景设置为和ActionBar一样。具体代码如下:

8//创建TextView

TextView textView= new TextView(this);

LinearLayout.LayoutParams lParams= new

LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, getStatusBarHeight());

textView.setBackgroundColor(Color.parseColor("#3F9FE0"));

textView.setLayoutParams(lParams);

//获得根视图并把TextView加进去。

ViewGroup view=(ViewGroup) getWindow().getDecorView();

view.addView(textView);

在模拟器上看还行,但是在实际的手机当中总感觉ActionBar有点过大,所以我在背景色里加入了一些渐变,在实体手机中就比较好看一点,不会觉得ActionBar太宽了。

android:startColor="#c8c8c8"

android:endColor="#3F9FE0"

android:angle="270"

android:type="linear"/>

怎么在状态栏上显示app图标

在Mac电脑的状态栏中添加或删除应用程序图标,可以通过自定义通知中心和控制中心,或者使用第三方应用程序来实现。

1.自定义通知中心和控制中心

在Mac电脑的状态栏中,通知中心和控制中心是两个常用的功能。通知中心可以显示来自应用程序的通知和提醒,而控制中心则提供了一些常用的设置和快捷方式。通过自定义这两个中心,可以在状态栏中添加或删除应用程序图标。

要添加应用程序图标,请打开通知中心或控制中心,然后找到要添加的应用程序。将应用程序拖到状态栏中即可。如果要删除应用程序图标,请将图标从状态栏中拖到废纸篓中。

2.使用第三方应用程序

除了自定义通知中心和控制中心外,还可以使用第三方应用程序来在状态栏中添加或删除应用程序图标。这些应用程序通常提供更多的选项和自定义设置,可以根据个人需要进行调整。例如,一些应用程序可以让您添加天气、时钟、电池等小部件到状态栏中。

具体步骤:

1.打开“系统偏好设置”并选择“通知”。

2.在左侧选择“通知中心”或“控制中心”。

3.点击右侧的“编辑”按钮。

4.在弹出的窗口中,可以添加或删除应用程序图标。

5.如果要使用第三方应用程序,请打开应用程序并将需要的小部件拖到状态栏中。如果需要删除小部件,请将小部件从状态栏中拖到废纸篓中。

需要注意的是,在添加或删除应用程序图标时,要确保只添加可信的应用程序和小部件,以避免安全问题。同时,也要注意不要过度添加小部件,以免影响状态栏的可读性和使用效果。

小米手机状态栏怎么添加应用

具体步骤:

1、打开手机,点击【设置】项。

2、在设置页面点击【系统应用】设置项。

3、点击系统应用中的【快应用】。

4、进一步点击【快应用管理】。

5、进一步打开,就能看到列出有多个app。

6、点击其中的一个应用,在打开的页面点击下方的【添加】。

7、系统弹出确认窗口,点击确定。

8、这样,这款app就被添加到了手机桌面上,就能正常使用了。快应用的图标与普通下载安装的软件图标不一样,图标右下角有一个黄色的圈,通过这一点可以区别快应用和普通应用。

魅族状态栏歌词怎么设置

魅族状态栏歌词的设置方法如下:

方法一:自带音乐app。

在魅族Flyme系统自带的音乐app中,状态栏歌词功能是自动开启的,播放任意歌曲即可查看到效果。可通过【我的】打开右上角的【设置】来关闭、开启。在设置中找到【状态栏歌词】功能即可设置。

方法二:QQ音乐app。

适配Flyme系统的QQ音乐,自动开启状态栏歌词功能,无需手动开启使用。打开【我的】-【设置】-【更多】-【状态栏歌词】进行设置,可将其关闭或者开启。如果没有该设置,表明你使用的QQ音乐并不是适配Flyme版本。

方法三:网易云app。

打开网易云app,点击左上角的三条杠打开【我的】。在我的中点击下方的【设置】,选择【状态栏歌词】功能,点击右侧将其开启,或者关闭。同样需要适配Flyme系统的网易云app可开启。

方法四:酷狗音乐app。

打开手机中的酷狗音乐app,在【我】的页面点击左上角的三条杠。然后在下方找到【状态栏歌词】功能,点击将其开启即可,如果需要关闭重复该步骤。酷狗音乐app需要是适配Flyme系统的版本。