Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中为所有应用程序使屏幕只显示白色和黑色_Android_Colors - Fatal编程技术网

如何在android中为所有应用程序使屏幕只显示白色和黑色

如何在android中为所有应用程序使屏幕只显示白色和黑色,android,colors,Android,Colors,我想让应用程序看起来像超节能模式(galaxy s5)。它改变屏幕只显示黑白色。我不知道怎么做。 有人能提供一些关于如何做的建议或信息吗? 非常感谢。你的基本想法有缺陷 三星不得不在安卓系统的基础上打造超省电模式。这不是一个你只需创建黑白应用程序就能实现的东西 如果电池耗尽会发生什么?有些人开始关掉一些东西,比如Wi-Fi或蓝牙,甚至只是启动飞机模式。降低屏幕的亮度。一堆随机的、单独的东西都是为了给电池提供稍微长一点的推力。 三星希望通过在Galaxy S5中加入他们的超节能模式,使这一点变得更

我想让应用程序看起来像超节能模式(galaxy s5)。它改变屏幕只显示黑白色。我不知道怎么做。 有人能提供一些关于如何做的建议或信息吗?
非常感谢。

你的基本想法有缺陷

三星不得不在安卓系统的基础上打造超省电模式。这不是一个你只需创建黑白应用程序就能实现的东西

如果电池耗尽会发生什么?有些人开始关掉一些东西,比如Wi-Fi或蓝牙,甚至只是启动飞机模式。降低屏幕的亮度。一堆随机的、单独的东西都是为了给电池提供稍微长一点的推力。

三星希望通过在Galaxy S5中加入他们的超节能模式,使这一点变得更容易,并使事情更进一步。它做了所有这些事情,并做了一些调整。它并没有仅仅降低屏幕亮度,而是将屏幕变为灰度,并提供手机屏幕的黑白显示。所以,即使你使用了一个应用程序,比如回复一条重要的短信,它也会保持灰色。它可以关闭蓝牙和Wi-Fi等功能。它还将在屏幕关闭时关闭手机的数据连接,并在您开始使用手机时重新打开。

即使锁屏也会改变,因为你将不再看到那里的天气预报,三星的精美动画也消失了,取而代之的是一个简单的指示如何解锁设备。一旦您这样做,下一个屏幕就是一个简短的六项列表,其中列出了您在模式下可以使用的预批准应用程序。

因此,有很多东西,当所有的结合将节省电池的设备;将屏幕从彩色改为灰度不会是一个重大改进。而且,取决于您如何实现它,您实际上可能会使性能变得更差


三星已经调整了几乎所有的功能,并对所有功能进行了测试,以确保该模式下的所有调整都能真正节省电池电量。这不是你自己要做的事情。

转到你的设置。点击省电模式。打开灰度模式

如果要将整个应用程序设计为黑色/白色或灰色,最简单的方法是在res/values/colors.xml中定义颜色,以便在设计和着色应用程序时仅包含黑色/白色/灰色

如果您有一个完全彩色的应用程序,并且希望翻转设置中的所有内容,或者希望将图像设置为灰度,我建议您使用用户首选项布尔值,并在onCreate中定义一个方法

要将图像视图转换为黑白,可以使用:

ColorMatrix colorMatrix = new ColorMatrix();
colorMatrix.setSaturation(0);
ColorMatrixColorFilter colorFilter = new ColorMatrixColorFilter(colorMatrix);
imageView.setColorFilter(colorFilter);
对于所有视图,您应该能够对其应用着色以删除颜色: 使用android:backgroundTint,或更改按钮或复选框的颜色属性

// Create a paint object with 0 saturation (black and white)
ColorMatrix cm = new ColorMatrix();
cm.setSaturation(0);
Paint greyscalePaint = new Paint();
greyscalePaint.setColorFilter(new ColorMatrixColorFilter(cm));
// Create a hardware layer with the greyscale paint
v.setLayerType(LAYER_TYPE_HARDWARE, greyscalePaint);
将这些代码用于根布局


y您想换成黑白吗?谁说会省电?Galaxy的超省电模式就是这样做的。也许两种颜色比全色更节能。你知道怎么做吗?谢谢先生的回复。据我所知,在AMOLED屏幕上,显示黑白彩色比全彩节能。我想知道如何使屏幕显示灰度颜色的技术。不是为了节约能源!非常感谢!这是很长时间来看到你的答案。也许这就是我想要的,我不知道问题出在哪里,但在我的Nexus 6p中它不起作用。我把android:hardwareAccelerarion:true放在清单中。但是看起来v.isHardwareAccelerated()总是返回false。嗨,有没有可能使其中一个子视图保持其自身的颜色?您已将setLayerType()应用于“v”。“v”是一个什么样的对象,可以让你切换到整个应用程序的灰度?