请教怎样华为虚拟按键透明栏变成透明,黑色不太好看

后使用快捷导航没有帐号?
只需一步,快速开始
查看: 6|回复: 6
在线时间0 小时经验值161 最后登录注册时间帖子阅读权限40UID
高中生, 积分 161, 距离下一级还需 39 积分
TA的每日心情慵懒 12:00签到天数: 1 天[LV.1]初来乍到
G币0 最后登录注册时间
马上注册,结交更多机友,下载更多应用,让你轻松玩转手机。
已有帐号?   下载游戏和软件,请【】进入机锋市场!
平时在桌面的时候状态栏和下面的虚拟按键是半透明的
可是进入了app之后又变回黑色的一条 感觉很挡视野&&可是又不想完全隐藏掉需要的时候再调出来 感觉太麻烦
我就是想知道有没有插件或者软件可以使上面的状态栏和下面的虚拟按键能全程半透明
我用了重力盒子 可是里面好像没有相关的设置
在线时间2 小时经验值212 最后登录注册时间帖子阅读权限50UID
大学专科, 积分 212, 距离下一级还需 188 积分
该用户从未签到
G币4 最后登录注册时间
XP框架。。。。。。。。。。。
在线时间0 小时经验值161 最后登录注册时间帖子阅读权限40UID
高中生, 积分 161, 距离下一级还需 39 积分
TA的每日心情慵懒 12:00签到天数: 1 天[LV.1]初来乍到
G币0 最后登录注册时间
゛ 浮零° 发表于
XP框架。。。。。。。。。。。
装了.....然后也用了重力盒子了....可是没有调透明度的选项 我重力盒子是3.42的版本
在线时间397 小时经验值816 最后登录注册时间帖子阅读权限70UID2591497
学士, 积分 816, 距离下一级还需 284 积分
该用户从未签到
G币4 最后登录注册时间
可以换个颜色 不过也不是透明的
在线时间798 小时经验值2441 最后登录注册时间帖子阅读权限90UID1769
硕士, 积分 2441, 距离下一级还需 59 积分
该用户从未签到
G币768 最后登录注册时间
不是官方app暂时没办法
下面开始是广告。不是我个人的签名。
在线时间92 小时经验值354 最后登录注册时间帖子阅读权限50UID471993
大学专科, 积分 354, 距离下一级还需 46 积分
TA的每日心情擦汗 12:23签到天数: 1 天[LV.1]初来乍到
G币3 最后登录注册时间
SONY这个设计太丑了
在线时间0 小时经验值256 最后登录注册时间帖子阅读权限50UID
大学专科, 积分 256, 距离下一级还需 144 积分
该用户从未签到
G币0 最后登录注册时间
默认的不能更改的,用着也挺好的嘛
Powered byAndroid4.4新的特性,在应用内开启透明状态栏和透明虚拟按钮。 - 黑暗中的一盏明灯 - 推酷
Android4.4新的特性,在应用内开启透明状态栏和透明虚拟按钮。 - 黑暗中的一盏明灯
除了沉浸模式外,Android 4.4还有新的API,能使应用内的状态栏和虚拟按钮透明。其他更多的Android 4.4 APIs可以看
如果要使应用内的状态栏和虚拟按钮变成透明有两种方法。
一种是代码方式:
1 Window window = getWindow();
2 window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
3 window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
另外一种是使用两个新的主题风格:
但是这种方式只支持Android4.4以上系统,所以为了保持兼容性,我们还是采用代码方式比较好。只需要先判断,如果是4.4以上系统才启用代码。
开启后上下系统栏都透明了。
但是如果应用本身是带有actionbar或者标题栏的话会就会变得比较尴尬,内容会在上面露出来。这个时候需要在布局文件里加入android:fitsSystemWindows=&true&。
1 &RelativeLayout xmlns:android=&/apk/res/android&
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& /&
12 &/RelativeLayout&
加入前 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & 加入后
& & & & & & &&
但是这样的话内容就不能从透明的虚拟按钮下穿过,没原来那么好看。我们可以按照以前一样把根布局设置一个高度为系统栏高度和ActionBar高度的内边距就可以。
同时关于获取ActionBar和状态栏的高度,发现用原来的方法有时候会获取的值为0。自己google找了一下,找到两个前辈提供的获取高度方法,
,获取状态栏高度。
1 if (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);
1 // 获取手机状态栏高度
public int getStatusBarHeight() {
Class&?& c = null;
Object obj = null;
Field field = null;
int x = 0, statusBarHeight = 0;
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 statusBarH
// 获取ActionBar的高度
public int getActionBarHeight() {
TypedValue tv = new TypedValue();
int actionBarHeight = 0;
if (getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true))// 如果资源是存在的、有效的
actionBarHeight = plexToDimensionPixelSize(tv.data, getResources().getDisplayMetrics());
return actionBarH
设置后的效果
接下来,因为我自己写的一些应用是暗色的主题的,会导致透明的状态栏和ActionBar颜色不太协调。看到有一些应用是把状态栏的颜色设置成和ActionBar一样,这种解决方法也不错。
具体是怎么实现的也不太清楚,我自己猜测写了一个差不多状态栏。我是直接在根视图加入一个高度为状态栏高度的TextView,背景设置为和ActionBar一样。具体代码如下:
// 创建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太宽了。
1 &?xml version=&1.0& encoding=&utf-8&?&
2 &shape xmlns:android=&/apk/res/android& &
&gradient android:startColor=&#c8c8c8&
android:endColor=&#3F9FE0&
android:angle=&270&
android:type=&linear&/&
8 &/shape&
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致}

我要回帖

更多关于 android 虚拟按键透明 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信