vivo高对比度文字在那里,设置 更多设置 vivo辅助功能设置方法的颜色反转没开啊,求大神

【02-05 #vivo照亮2017#】_vivo吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
【02-05 #vivo照亮2017#】收藏
问一下手机反色怎么调?不小心调到了反色结果调不回来了qqq整个系统的颜色都是反的怎么办qqqq就差不多下面这个样子……
设置,更多设置,辅助功能,颜色反转
您好,您可以在设置--更多设置--辅助功能中将“颜色反转”的开关关闭哦。
登录百度帐号推荐应用安卓5.0新加辅助功能(高对比性文字/色彩校正/颜色反转)学习 - CSDN博客
安卓5.0新加辅助功能(高对比性文字/色彩校正/颜色反转)学习
在安卓L版本中,辅助设置中新加了3个功能,分别是高对比性文字,颜色反转,色彩校正
先来看看google是怎么说这个功能的
This information applies only to devices running Android 5.0 and higher.
High contrast makes text easier to read on your device. This feature fixes the text color as either black or white, depending on the original text color.
To enable or disable high contrast text, follow these steps:
Go to&Settings & Accessibility.
Select&High contrast text.
High-contrast text is currently an experimental feature, so it might not work correctly everywhere on your device.
再来看看效果图
google说,这个功能就是让文字更容易阅读,也就是有点类似与文字高亮。最后的效果就是,把文字变成白色或黑色,把背景文字背景变成黑色或白色
也就是说,如果你之前的文字是白色,背景是黑色,就不会去应用这个功能,即使开启了,就想上面设置的actionbar
最后看看怎么实现的,简单分析
从上图可以看出,最后文字为何会这样显示,是因为在操作ViewRootImpl,遍历view,重新绘制。当然上图可能不是很完整,因为重绘前还需要view中之前的状态,比如之前的颜色什么的。
不过,我们大概已经知道,只要实现是通过修改ViewRootImpl来达到系统中所有view都能显示成这个效果的目的
先看看google是怎么说这个功能的
This information applies only to devices running Android 5.0 and higher.
Color inversion exchanges color values. For example, black text on a white screen becomes white text on a black screen.
To enable or disable color inversion, follow these steps:
Go to&Settings & Accessibility.
Select&Color inversion.
Color inversion is currently an experimental feature, so it might not work correctly everywhere on your device.
再来看看效果图
下面两幅图是在浏览器页面,第一副是未开启颜色反转功能的,第二幅是开启颜色反转后的。
开启颜色反转后,所有的地方都会出现上述效果
从上面的效果图上看出,这个功能与有的浏览器推出的夜间模式很像。
也就是说,我们可以通过这个功能达到晚上玩手机不会刺眼,可以仿真出夜晚效果
最后来看看实现,简单分析
这是开启颜色反转的时序图
再跳转到后面看开启色彩校正后的时序图,会发现这两个操作后的流程是一样的
先看看google是怎么说这个功能的
This information applies only to devices running Android 5.0 and higher.
The color correction setting enables your device to compensate for color blindness.
To enable or disable color correction, follow these steps:
Go to Settings & Accessibility & Color correction.
Set the switch to the on or off position.
To change the color correction mode, select Correction mode, then choose one of the following options:
Deuteranomaly (red-green)
Protanomaly (red-green)
Tritanomaly (blue-yellow)
Color correction is currently an experimental feature, so it might not work correctly everywhere on your device.
再来看看效果图
下面四幅图是在launcher界面,为了让效果更明显,安装了360 launcher,将app按照图标颜色分类
第一副是未开启颜色校正的
第二副是开启后,选择红弱视,会发现红色的图标变暗了
第二副是开启后,选择绿弱视,会发现绿色的图标变暗了
第二副是开启后,选择蓝弱视,会发现蓝色的图标变暗了
根据google说明,该功能是给色盲色弱的提供。
我这里还不是很明白,选择红弱视后,红色变暗了;红弱视本生在较亮的环境下是可以看清楚的,变暗后不是更看不清了吗!!
最后来看看实现,简单分析
这是开启色彩校正后的时序图
先简单说下颜色反转和色彩校正的实现原理
通过SurfaceFlinger去控制gpu改变屏幕的显示效果,给你视觉上的错觉,控件本身并没有被改变。
高对比性文字是修改了控件,而这两个功能只是给你显示上的错觉,开启后,截屏放到电脑看到的仍然是未开启时的效果
颜色反转和色彩校正流程原理分析
无论是颜色反转还是色彩校正,都会在数据库(SettingsProvider)中保存一个值。
AccessibilityManagerService这个类就是为辅助功能服务的
AccessibilityManagerService会去注册一个监听,监听辅助功能中哪些值被改变了
当开启颜色校正或颜色反转后,AccessibilityManagerService就会监听到,然后按照上面的时序图执行
AccessibilityManagerService会调用DisplayAdjustmentUtils的applyAdjustments方法
在这个方法里会执行multiply,setDaltonizerMode,setColorTransform
multiply方法中主要用于计算颜色矩阵
private static float[] multiply(float[] matrix, float[] other) {
if (matrix == null) {
float[] result = new float[16];
Matrix.multiplyMM(result, 0, matrix, 0, other, 0);
setDaltonizerMode方法主要用于设置仿真模式
可以看出该方法会通过binder连接到SurfaceFlinger,将mode传递过去
* Sets the surface flinger's Daltonization mode. This adjusts the color
* space to correct for or simulate various types of color blindness.
* @param mode new Daltonization mode
private static void setDaltonizerMode(int mode) {
final IBinder flinger = ServiceManager.getService(&SurfaceFlinger&);
if (flinger != null) {
final Parcel data = Parcel.obtain();
data.writeInterfaceToken(&android.ui.ISurfaceComposer&);
data.writeInt(mode);
flinger.transact(1014, data, null, 0);
data.recycle();
} catch (RemoteException ex) {
Slog.e(LOG_TAG, &Failed to set Daltonizer mode&, ex);
setColorTransform主要用于设置颜色转换
可以看出该方法会通过binder连接到SurfaceFlinger,将一个颜色矩阵传递过去
* Sets the surface flinger's color transformation as a 4x4 matrix. If the
* matrix is null, color transformations are disabled.
* @param m the float array that holds the transformation matrix, or null to
disable transformation
private static void setColorTransform(float[] m) {
final IBinder flinger = ServiceManager.getService(&SurfaceFlinger&);
if (flinger != null) {
final Parcel data = Parcel.obtain();
data.writeInterfaceToken(&android.ui.ISurfaceComposer&);
if (m != null) {
data.writeInt(1);
for (int i = 0; i & 16; i++) {
data.writeFloat(m[i]);
data.writeInt(0);
flinger.transact(1015, data, null, 0);
data.recycle();
} catch (RemoteException ex) {
Slog.e(LOG_TAG, &Failed to set color transform&, ex);
接着会调用SurfaceFlinger的onTransact方法
setDaltonizerMode传过来的code值是1014
setColorTransform传过来的code值是1015
当设置颜色反转时,mode为-1,也就是说会执行mDaltonizer.setMode(Daltonizer::simulation);
当设置颜色校正时,mode会大于10(11红弱视,12绿弱视,13蓝弱视),会执行mDaltonizer.setMode(Daltonizer::correction);也会设置相应的type
case 1015中会将setColorTransform传递过来的颜色矩阵拿出来,doDisplayComposition方法会通过shader让gpu显示出效果
最后调用repaintEverything重绘
frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp
status_t SurfaceFlinger::onTransact(
uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags)
......省略数行......
switch (code) {
......省略数行......
case 1014: {
// daltonize
n = data.readInt32();
switch (n % 10) {
case 1: mDaltonizer.setType(Daltonizer::protanomaly);
case 2: mDaltonizer.setType(Daltonizer::deuteranomaly);
case 3: mDaltonizer.setType(Daltonizer::tritanomaly);
if (n &= 10) {
mDaltonizer.setMode(Daltonizer::correction);
mDaltonizer.setMode(Daltonizer::simulation);
mDaltonize = n & 0;
invalidateHwcGeometry();
repaintEverything();
return NO_ERROR;
case 1015: {
// apply a color matrix
n = data.readInt32();
mHasColorMatrix = n ? 1 : 0;
// color matrix is sent as mat3 matrix followed by vec3
// offset, then packed into a mat4 where the last row is
// the offset and extra values are 0
for (size_t i = 0 ; i & 4; i++) {
for (size_t j = 0; j & 4; j++) {
mColorMatrix[i][j] = data.readFloat();
mColorMatrix = mat4();
invalidateHwcGeometry();
repaintEverything();
return NO_ERROR;
......省略数行......
frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp
void SurfaceFlinger::doDisplayComposition(const sp&const DisplayDevice&& hw,
const Region& inDirtyRegion)
if (CC_LIKELY(!mDaltonize && !mHasColorMatrix)) {
if (!doComposeSurfaces(hw, dirtyRegion))
RenderEngine& engine(getRenderEngine());
mat4 colorMatrix = mColorM
if (mDaltonize) {
colorMatrix = colorMatrix * mDaltonizer();
engine.beginGroup(colorMatrix);
doComposeSurfaces(hw, dirtyRegion);
engine.endGroup();
最后看看仿真器
frameworks/native/services/surfaceflinger/Effects/Daltonizer.h
class Daltonizer {
enum ColorBlindnessTypes {
protanopia,
// L (red) cone missing 红色盲
deuteranopia,
// M (green) cone missing 绿色盲
tritanopia,
// S (blue) cone missing 蓝色盲
protanomaly,
// L (red) cone deficient 红色弱
deuteranomaly,
// M (green) cone deficient (most common) 绿色弱
tritanomaly
// S (blue) cone deficient 蓝色弱
enum Mode {
simulation, //仿真,开启颜色反转后模式
correction
//校正,开启色彩校正后模式
高对比性文字主要是修改控件,颜色反转和颜色校正主要是通过操作gpu修改显示效果
本文已收录于以下专栏:
相关文章推荐
Android SDK中提供了Bitmap图片每个像素颜色读取的方法:
public void getPixColor(){
Bitmap src =  BitmapFactory.dec...
由于一个亲戚上班比较远,开车上班拉个顺风车也可以省个油钱是吧,但每天要花费大量的时间去抢单子,于是我想着做一个能自动刷单的辅助功能软件;
首先说一下思路,就是在抢单的Activity1通过adb i...
SpannableString中的LinkMovementMethod和ClickableSpan的使用1. 使用自定义ClickableSpan生成可点击不带下滑线文字
安卓TextView中改变部分文字颜色
一、问题描述
系统版本:Android 5.0
手机型号:三星note3
sim卡:移动的NFC-SIM卡
和包版本:4.2.71
问题现象:
1. 升级到安卓5.0前一切正常,可以使用和包为自己手...
当前安卓分享一共三种方式
1,调用安卓系统自带分享功能(可以分享大图)
2,调用微信,微博支付宝等自己的官方分享sdk
3,用友盟,shareSdk等集成好的sdk
他的最新文章
讲师:王禹华
讲师:宋宝华
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)经验437 米
在线时间4 小时
版本V7.2.5.0.LHNCNDA
积分 443, 距离下一级还需 57 积分
积分 443, 距离下一级还需 57 积分
机型红米Note3
签到次数40
MIUI版本V7.2.5.0.LHNCNDA
通过手机发布
本来看见有高对比度,然后就想看看怎么样,结果打开就没有关闭选项了
分享到微信朋友圈
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
经验4393 米
在线时间460 小时
版本7.9.13
Android爱好者
积分 5066, 距离下一级还需 14934 积分
积分 5066, 距离下一级还需 14934 积分
机型小米手机2/2S
签到次数17
MIUI版本7.9.13
虽然不懂,但是帮顶。
经验28342 米
在线时间838 小时
版本6.12.12
机型华为荣耀6移动版
签到次数38
MIUI版本6.12.12
通过手机发布
怎么会没有关闭选项了?设置→其它高级设置→辅助功能→高对比度文字!如果你的没有那么应该是系统出问题了,建议重新刷机看看!
经验4607 米
在线时间477 小时
版本V7.0.6.0.LXKCNCI
积分 6273, 距离下一级还需 13727 积分
积分 6273, 距离下一级还需 13727 积分
机型小米手机4c
签到次数44
MIUI版本V7.0.6.0.LXKCNCI
通过手机发布
经验1572 米
在线时间64 小时
版本7.5.25
积分 1766, 距离下一级还需 234 积分
积分 1766, 距离下一级还需 234 积分
机型小米手机2/2S
签到次数50
MIUI版本7.5.25
通过手机发布
霍建华聚 发表于
怎么会没有关闭选项了?设置→其它高级设置→辅助功能→高对比度文字!如果你的没有那么应该是系统出问题了 ...
在线时间3 小时
版本V7.3.16.0.MBDCNDE
积分 86, 距离下一级还需 114 积分
积分 86, 距离下一级还需 114 积分
机型小米Max 高配版
MIUI版本V7.3.16.0.MBDCNDE
小米max 开启了高对比度字体,如何改回去?都说在设置——其它高级设置——辅助设置——
我这边,没有辅助设置呢?
经验105 米
在线时间2 小时
积分 111, 距离下一级还需 89 积分
积分 111, 距离下一级还需 89 积分
机型小米手机3/4 WCDMA版
MIUI版本7.1.5
通过手机发布
霍建华聚 发表于
怎么会没有关闭选项了?设置→其它高级设置→辅助功能→高对比度文字!如果你的没有那么应该是系统出问题了 ...
miui8路径虽然换了,但是大哥你说的很对!!!
在线时间1 小时
版本V8.0.18.0.MAGCNDI
积分 50, 距离下一级还需 150 积分
积分 50, 距离下一级还需 150 积分
机型小米手机5s
MIUI版本V8.0.18.0.MAGCNDI
通过手机发布
或者:设置,更多设置,无障碍里的,高对比度文字
在线时间1 小时
版本V8.0.18.0.MAGCNDI
积分 50, 距离下一级还需 150 积分
积分 50, 距离下一级还需 150 积分
机型小米手机5s
MIUI版本V8.0.18.0.MAGCNDI
通过手机发布
或者:设置,更多设置,无障碍里的,高对比度文字
经验347 米
在线时间4 小时
积分 301, 距离下一级还需 199 积分
积分 301, 距离下一级还需 199 积分
机型小米手机5
签到次数33
MIUI版本7.9.8
或者:设置,更多设置,无障碍里的,高对比度文字
MIUI 7纪念勋章
已关注极客秀微信
已关注微信
关注腾讯微博
已关注腾讯微博
关注新浪微博
已关注新浪微博
MIUI五周年
MIUI五周年纪念勋章
Copyright (C) 2017 MIUI
京ICP备号 | 京公网安备34号 | 京ICP证110507号}

我要回帖

更多关于 vivo手机辅助功能 的文章

更多推荐

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

点击添加站长微信