安卓 怎么在framework修改navigationbar的 背景色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓 怎么在framework修改navigationbar的 背景色相关的知识,希望对你有一定的参考价值。

参考技术A 最近我突然发现UINavigationbar背景修改的方法不起作用了,代码如下:

@implementation UINavigationBar (CustomImage)

-(void)drawRect:(CGRect)rect

UIImage *image = [UIImage imageNamed:@"navigationbar.png"];
[image drawInRect:CGRectMake(0,0,self.frame.size.width,self.frame.size.height)];


@end

发现原来是ios 5的原因,如果运行在iOS 5以下的版本就没有问题了。经过实验以下方法适合iOS 5(放在ViewDidLoad中):

if ([self.navigationController.navigationBar respondsToSelector:@selector( setBackgroundImage:forBarMetrics:)])
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navigationbar.png"] forBarMetrics:UIBarMetricsDefault];


第一条if语句的作用是防止程序在iOS 5以下的版本中崩溃。
这样,依靠这两段代码,我的UINavigationbar的背景问题在iOS 5及以下版本中得到了完美的解决。

安卓修改屏幕背光默认亮度(framework修改法)

本文所在的平台是安卓10

1.修改文件config.xml 

本平台路径:/frameworks/base/core/res/res/values/config.xml

搜索

最暗值:config_screenBrightnessSettingMinimum

最亮值:config_screenBrightnessSettingMaximum

默认值:config_screenBrightnessSettingDefault

ps:路径这东西,如果找不到,grep一下关键词,安卓这么多版本,学会变通。

    <integer name="config_screenBrightnessSettingMinimum">5</integer>

    <!-- Maximum screen brightness allowed by the power manager.
         The user is forbidden from setting the brightness above this level. -->
    <integer name="config_screenBrightnessSettingMaximum">255</integer>

    <!-- Default screen brightness setting.
         Must be in the range specified by minimum and maximum. -->
    <integer name="config_screenBrightnessSettingDefault">102</integer>

当然啦,关于光暗值,这个文件还有很多,上面的配置项是我们最常见的手动拉状态栏光度调的最大最小值。

还有自动调节光暗度的配置项。

<integer name="config_autoBrightnessBrighteningLightDebounce">4000</integer>
    <integer name="config_autoBrightnessDarkeningLightDebounce">8000</integer>

    <!-- Initial light sensor event rate in milliseconds for automatic brightness control. This is
         used for obtaining the first light sample when the device stops dozing.

         Set this to -1 to disable this feature. -->
    <integer name="config_autoBrightnessInitialLightSensorRate">-1</integer>

    <!-- Light sensor event rate in milliseconds for automatic brightness control. -->
    <integer name="config_autoBrightnessLightSensorRate">250</integer>

    <!-- The maximum range of gamma adjustment possible using the screen
         auto-brightness adjustment setting. -->
    <fraction name="config_autoBrightnessAdjustmentMaxGamma">300%</fraction>

ex:看路径就知道,这个文件是属于framework里的资源文件。不止是光暗值,在系统里的内置apk,如systemUI,development等,很多我们看见的文字都属于这个res文件夹里。大家可以研究研究。

2.快速调试res模块

在修改完res这个模块时,教大家一个快速调试的方法:

2.1单独编译res生成framework-res.apk

在输入source build/envset.sh 和 lunch XXX等配置环境命令后。进入/frameworks/base/core/res 

会看到Android.bp 或者Android.mk (老版本)

执行命令:mm

2.2替换apk

该apk在手机目录:/system/framework/ 

使用:adb push framework-res.apk /system/framework/

有androidstdio也可以用这个放进去。

2.3 重启

 

这个是修改framework的方法。嘿嘿,当然还有其他方法,后面会介绍驱动怎么去修改。

最后,希望可以帮到大家,如果有用的就收藏一下,白嫖的就点个赞。

 

 

 

 

 

 

 

以上是关于安卓 怎么在framework修改navigationbar的 背景色的主要内容,如果未能解决你的问题,请参考以下文章

安卓修改屏幕背光默认亮度(framework修改法)

安卓修改屏幕背光默认亮度(framework修改法)

安卓修改默认音量

Windows上运行自己编译的安卓系统img(补充自己制作雷电)-千里马android framework

Windows上运行自己编译的安卓系统img(补充自己制作雷电)-千里马android framework

安卓4.1怎么调通话音量