最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题TAG最新视频文章视频文章2视频2tag2tag3文章专题问答问答2 文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
我的世界如何联机 全民k歌如何创建歌房 微软应用商店打不开如何解决 如何判断照片是本人还是网图 手机斗鱼怎么看回放 中国电信如何查询个人轨迹 微信铃声如何设置 电脑版吃鸡如何下载 几步教你做黑白头像 电脑屏幕黑白如何调回来 uu加速器如何下载游戏 win10系统的系统自带游戏去哪儿了 创造与魔法雪原熊大位置以及捕捉攻略 搜狗浏览器保存网页为图片后变成黑色怎么解决 《公主连结Re:Dive》台服如何下载及推荐 “该内存不能为read错误”如何解决 微信红包语音提醒如何设置 手机qq禁言如何设置 可以下载国外手游的app 如何用手机将图片转为黑白的? 网站变黑白灰色的4种代码详细讲解 最新春分祝福短信大全,春分节气祝福语 什么?大暑吃西瓜要注意?这些禁忌居然都没听说过。 处暑过后防秋燥,衣食住行要做到四点 霜降节气是胃病高发期,常吃3种食物,健脾暖胃、远离便秘 霜降前后养生必吃的十种食物,记好了每天吃一种 【清炖牛肉萝卜汤】食谱,霜降过后,这道汤必喝 霜降以后易感冒,多给家人吃这个,消炎杀菌,做馅真鲜! 夏日炎炎没什么胃口?老苏州大暑节气照样大口吃肉 "散热排毒可瘦身",大暑适当吃辣竟然有这么多好处 大暑养生小常识:不要熬夜,注意避暑 大暑吃“三薯”,是哪“三薯”呢? 双十一护肤品牌套路满满,真正划算的只有这两个大牌! 双十一哪些热门护肤品值得买?最详细买买买攻略 比免税店还便宜!双11热销化妆品剁手看这一图就够 2019双十一大牌护肤品推荐清单,必抢爆品“手慢无”! 双十一快到了!网红带货的这些“坑”,不得不防 双十一避雷指南丨这些网红护肤品,用一次就后悔! 趁早拔草!这种网红货双十一谨慎抢购 网红洗面奶大测评,是否可以列入双十一清单榜?
android夜间模式如何设置
2020-05-08 00:35:50 责编:小OO

关于阅读类的app,有个夜间模式真是太重要了。那么有两种方式可以实现夜间模式1:修改theme,重启activity优点:正儿八经的夜间模式,配色看着舒服缺点:图片刺眼、闪屏2:使用一个带黑色带透明度的View,盖在现有的activity上,效果类似你带上墨镜,看着太阳不刺眼。优点:不用重启activity,不闪屏;加上透明度过渡动画,模式之间切换非常舒服,解决了1中,白底e79fa5e98193e58685e5aeb931333361323561图片依旧刺眼的问题。;缺点:配色没变化,就算带上墨镜,白天依旧是白天。因此,本方案整合了两种解决方案。在夜间配色的基础上,再加上一层墨镜,让图片也变得柔和起来,效果图如下:可以看待chrome图标的白色底,在夜间模式下也变得柔和了好,下面来讲讲具体的实现步骤,本环节使用的开发环境是android Studio1 首先,在values下要准备好三个文件,没有就自己创建attrs.xml(声明属性的类型,布局xml中用) reference可以使用系统的资源ID,比如R.color.gray; color可以直接使用#ffffff颜色代码<?xml version="1.0" encoding="utf-8"?><resources><attr name="containerBackground" format="reference|color"></attr><attr name="cardBackground" format="reference|color"></attr><attr name="titleColor" format="reference|color"></attr><attr name="textColor" format="reference|color"></attr><attr name="selectorBtn" format="reference"></attr><attr name="selectorListItem" format="reference"></attr></resources>colors.xml(调色板,集中管理颜色hex)遵循 优秀格式规范 ,即调色板模式,避免使用btn1,btn2,fontTitle,fontText之类的颜色名。<?xml version="1.0" encoding="utf-8"?><resources><color name="white">#fafafa</color><color name="white_dark">#f3f3f3</color><color name="gray_light">#cccccc</color><color name="gray">#777</color><color name="gray_dark">#383838</color><color name="green_light">#8e9ea4</color><color name="green">#34515c</color><color name="green_dark">#1e3e4a</color><color name="night_mask">#90000000</color></resources>styles.xml(日间、夜间主题)<resources><!-- Application theme. --><style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"></style><!-- 日间模式 --><style name="AppTheme.day" parent="AppTheme"><item name="containerBackground">@color/white_dark</item><item name="titleColor">@color/gray_dark</item><item name="textColor">@color/gray</item><item name="selectorBtn">@drawable/navigator_list_item_day</item><item name="selectorListItem">@drawable/list_item_day</item></style><!-- 夜间模式 --><style name="AppTheme.night" parent="AppTheme"><item name="containerBackground">@color/green_dark</item><item name="titleColor">@color/white_dark</item><item name="textColor">@color/green_light</item><item name="selectorBtn">@drawable/navigator_list_item_night</item><item name="selectorListItem">@drawable/list_item_night</item></style></resources>2定义activity父类,自动托管日间、夜间模式BaseApplication就是自己包装的Application,通过它,保存日间、夜间模式Application和Activity,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象,用来存储系统的一些信息。通常我们是不需要指定一个Application的,这时系统会自动帮我们创建,如果需要创建自己 的Application,也很简单创建一个类继承 Application并在manifest的application标签中进行注册(只需要给Application标签增加个name属性把自己的 Application的名字定入即可)。android系统会为每个程序运行时创建一个Application类的对象且仅创建一个,所以Application可以说是单例 (singleton)模式的一个类.且application对象的生命周期是整个程序中最长的,它的生命周期就等于这个程序的生命周期。因为它是全局 的单例的,所以在不同的Activity,Service中获得的对象都是同一个对象。所以通过Application来进行一些,数据传递,数据共享 等,数据缓存等操作。public class BaseActionBarActivity extends ActionBarActivity {private BaseApplication mBaseApp = null;private WindowManager mWindowManager = null;private View mNightView = null;private LayoutParams mNightViewParam;private boolean mIsAddedView;@Overrideprotected void onCreate(Bundle savedInstanceState) {mBaseApp = (BaseApplication) getApplication();if (mBaseApp.isNightMode())setTheme(R.style.AppTheme_night);elsesetTheme(R.style.AppTheme_day);super.onCreate(savedInstanceState);mIsAddedView = false;if (mBaseApp.isNightMode()) {initNightView();mNightView.setBackgroundResource(R.color.night_mask);}}@Overrideprotected void onDestroy() {if (mIsAddedView) {mBaseApp = null;mWindowManager.removeViewImmediate(mNightView);mWindowManager = null;mNightView = null;}super.onDestroy();}public void ChangeToDay() {mBaseApp.setIsNightMode(false);mNightView.setBackgroundResource(android.R.color.transparent);}public void ChangeToNight() {mBaseApp.setIsNightMode(true);initNightView();mNightView.setBackgroundResource(R.color.night_mask);}/*** wait a time until the onresume finish*/public void recreateOnResume() {new Handler().postDelayed(new Runnable() {public void run() {recreate();}}, 100);}private void initNightView() {if (mIsAddedView == true)return;mNightViewParam = new LayoutParams(LayoutParams.TYPE_APPLICATION,LayoutParams.FLAG_NOT_TOUCHABLE | LayoutParams.FLAG_NOT_FOCUSABLE,PixelFormat.TRANSPARENT);mWindowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);mNightView = new View(this);mWindowManager.addView(mNightView, mNightViewParam);mIsAddedView = true;}}值得一提的是recreateOnResume()函数,因为是从Resume里面重建activity的(避免闪屏)此时, 直接调用系统的recreate函数时,会报错,原因是resume还没执行完,就被recreate了,因此,我们函数需要延时一会,等待系统完成resume就好了。一般延时1毫秒就可以了,但是我的app里面用到抽屉式导航栏,保存的时间要长点。准备工作到这里已经结束了。只要activity集成自该父类,就会自动托管日间、夜间模式了3调用方式子类只要调用ChangeToDay、ChangeToNight就可以完成模式的切换了。别忘了recreate activity来生效哦,实例代码如下:void changeViewMode() {boolean isNight = getMyApplication().isNightMode();if (isNight)ChangeToDay();elseChangeToNight();recreate();}OK,如过你能坚持看到这里,说明阁下是有耐心的人,奉上一个彩蛋。关于WebView网页如何实现日间、夜间模式。这个问题比我们现象的要简单的多。因为网页么,在生成html内容时,只要根据日间、还是夜间模式,替换css路径为日间.css、夜间.css就好了。栗子来了,瞧,就是这个"{style}",我们要替换的对象。<html><head><title>Cnblogs</title><link rel="stylesheet" type="text/css" href="{style}"/><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0,minimum-scale=1.0, user-scalable=no"/></head>在对webview加载内容文本时,替换该字符串的cssreplace("{style}",baseApplication.isNightMode() ? "style_night.css" : "style_day.css")结构如下:好了,大概思路,步骤代码都已经给出了,各位可以轻松给自己的app加上夜间模式,就是在设置里提供一个ToggleButton,打开或者关闭夜间模式。同时在新的API里提供接口,对所有支持夜间模式的应用进行统一调度。打开总开关,默认7ae58685e5aeb931333339666662开启其他第三方应用的夜间模式。然后也设置一个规则,可忽略某个软件。再自动化一些,可以设置个时间段,即默认开启夜间模式的时间段。这个Feature的实现必然要第三方开发者支持。虽然有时候夜间模式看起来可有可无,但是对于喜欢睡前玩一下手机的人来说,也是个挺人性化的功能呢。当然目前Android API还没有这个,不过我们还是可以在自己应用中给用户接口,让用户选择夜间模式,或者设置个时间段触发该功能。写了个小Demo,简单了实现了切换夜间模式,总结一下:在工程目录res/values/下新建attrs.xml,内容如下:view sourceprint?01.<?xml version="1.0" encoding="utf-8"?>02.<resources>03. 04.<attr name="btnColor" format="color" />05.<attr name="mainBackground" format="color" />06.<attr name="mainTextColor" format="reference|color" />07.<attr name="textString" format="string" />08. 09.</resources>然后就是在style中定义两种主题,每一种主题都要至少包含以上attrs中的几种属性:view sourceprint?01.<?xml version="1.0" encoding="utf-8"?>02.<resources>03. 04.<!-- 默认 -->05.<style name="MyThemeDefault" parent="@android:style/Theme">06.<item name="btnColor">#00ff00</item>07.<item name="mainBackground">#ffffff</item>08.<item name="mainTextColor">#000000</item>09.<item name="textString">默认主题</item>10.</style>11. 12.<!-- 夜间 -->13.<style name="MyThemeNight" parent="@android:style/Theme">14.<item name="btnColor">#0000ff</item>15.<item name="mainBackground">#000000</item>16.<item name="mainTextColor">#ffffff</item>17.<item name="textString">夜间主题</item>18.</style>19. 20.</resources>主题定义好了,然后就是在布局文件中引用了,里面有?号的地方就是引用以上定义的label:view sourceprint?01.<?xml version="1.0" encoding="utf-8"?>02.<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"03.android:layout_width="fill_parent"04.android:layout_height="fill_parent"05.android:background="?mainBackground"06.android:orientation="vertical" >07. 08.<TextView09.android:layout_width="fill_parent"10.android:layout_height="wrap_content"11.android:text="?textString" />12. 13.<ImageView14.android:id="@+id/ivBook"15.android:layout_width="62dip"16.android:layout_height="42dip"17.android:layout_gravity="center"18.android:layout_marginTop="0dip"19.android:gravity="center"20.android:src="?btnColor" />21. 22.<Button23.android:id="@+id/btnSet"24.android:layout_width="wrap_content"25.android:layout_height="wrap_content"26.android:layout_marginTop="50dp"27.android:text="改变主题" />28. 29.<Button30.android:id="@+id/btnGet"31.android:layout_width="wrap_content"32.android:layout_height="wrap_content"33.android:layout_marginTop="50dp"34.android:text="Get Flag" />35. 36.</LinearLayout>下面就是在Activiy中定义要使用那种主题了:view sourceprint?01.public class MainActivity extends Activity {02.private boolean blFlag = false;03.private ImageView ivBook;04.private Button btnSet;05.private Button btnGet;06. 07.@Override08.public void onCreate(Bundle savedInstanceState) {09.super.onCreate(savedInstanceState);10.this.setTheme(R.style.MyThemeDefault);11.setContentView(R.layout.main);12.btnSet = (Button) findViewById(R.id.btnSet);13.btnGet = (Button) findViewById(R.id.btnGet);14.ivBook = (ImageView) findViewById(R.id.ivBook);15.btnSet.setOnClickListener(new onClickListenerImp());16.btnGet.setOnClickListener(new onClickListenerImp());17.ivBook.setOnClickListener(new onClickListenerImp());18. 19.}20. 21.class onClickListenerImp implements OnClickListener {22.@Override23.public void onClick(View v) {24.// TODO Auto-generated method stub25.if (v == btnSet || v == ivBook) {26.if (blFlag) {27.setTheme(R.style.MyThemeDefault);28.blFlag = false;29.} else if (!blFlag) {30.setTheme(R.style.MyThemeNight);31.blFlag = true;32.}33.setContentView(R.layout.main);34.btnSet = (Button) findViewById(R.id.btnSet);35.btnGet = (Button) findViewById(R.id.btnGet);36.ivBook = (ImageView) findViewById(R.id.ivBook);37.btnSet.setOnClickListener(new onClickListenerImp());38.btnGet.setOnClickListener(new onClickListenerImp());39.ivBook.setOnClickListener(new onClickListenerImp());40.} else if (v == btnGet) {41.Toast.makeText(MainActivity.this, "blFlag: " + blFlag,42.Toast.LENGTH_SHORT).show();43.}44.}45. 46.}47. 48.}要注意的是,在onClickListenerImp()类中的view sourceprint?1.setContentView(R.layout.main);这句后面,要重新绑定各组件及其,不然只能监听一次。这是因为在setContentView后,组件不是之前那个组件了,快捷百键(Ctrl+Alt+S)或度File——>Settings,打开问Settings界面“Appearance & Behavior——>Appearance”右答边栏UI Options,在Theme选项中回选择“答Darcula”即可本回答被提问者采纳www.51dongshi.net防采集。

手机自带

现在安卓手机基本都自带夜间模式,有的叫做深色模式。

手机百度取消夜间模式,具体操作步骤如下:1、在手机应用中,打开手机百度,进入到手机百度的主界面,点

进入手机设置,点击显示和亮度。

  安卓7.0开启夜间模式介绍:  Android 7.0正式版已经发布,然而此前在开发者预览版

看到有个深色模式,勾选上。

1、打开手机界面,找到手机上的设置选项,点击进入设置页面。2、打开设置界面后,找到界面中的“显示

勾选上之后都变成夜间深色了,不管打开什么软件或者网页,都是夜间模式。

三更半夜不睡觉,躲在被窝里玩手机。相信这样的事情绝对不止我一个人干过,未来也依然会有无数人这么干下去

还可以自主调整亮度,色彩和护眼等。

关于阅读类的app,有个夜间模式真是太重要了。那么有两种方式可以实现夜间模式1:修改

色彩与护眼里可以勾选自然色彩显示,这样会根据不同环境自主调节。还可以设置色彩调节与色温,还有护眼模式的开启等。

为了方便我们实现Android夜间模式,我们下载一个软件“月食-夜间模式”,该软件简单,免费,无广告

色彩调节与色温就根据个人喜欢的颜色选择好即可。护眼模式可以设置开启时间等,设定好了到时就自动启动了,非常方便。

1、同为Android手机,不同牌子的,设置方法不同。2、以魅族手机为例,登录qq后,向右划就会出

第三方设置

如果不想用手机自带,非要用第三方的也可以,去商城搜索夜间,会有很多夜间模式的软件,下载一个。

原理很简单:利用setTheme调用不同的风格,而白天与黑夜的区别就是在于夜间模式直接利用黑色背景,

打开这种软件,一般第三方的夜间模式软件里也可以直接在屏幕上调节屏幕亮度。

原理很简单:利用setTheme调用不同的风格,而白天与黑夜的区别就是在于夜间模式直接利用黑色背景,

还有几种颜色可以选择,其实并没有手机自带的多。

手机百度取消夜间模式,具体操作步骤如下:1、在手机应用中,打开手机百度,进入到手机百度的主界面,点

另外会提供一些提醒,比如用眼时间,用眼报告等,这些功能看个人喜好,如果觉得有用可以用这些第三方的。缺点就是需要占用内存来安装。

  安卓7.0开启夜间模式介绍:  Android 7.0正式版已经发布,然而此前在开发者预览版

为了方便我们实现Android夜间模式,我们下载一个软件“月食-夜间模式”,该软件简单,免费,无广告,无打扰。Android夜间模式安装好后我们会看到软件的图标,7a6869616fe59b9ee7ad943133336534点击该图标后,你的Android手机亮度就会暗下来,再次点击会恢复之前的状态,是不是很简单。Android夜间模式如果你希望使用一些高级的功能,可以下拉通知栏,找到该应用的图标,点击进去。进去之后你可以做以下几件事情:1.开启或者关闭Android夜间模式2.快速选择自己喜欢的滤镜3.自由调节屏幕的亮度4.自由设置自己喜欢的滤镜5.开启或者关闭通知栏图标(注:关闭后可以通过双击应用的图标再次开启)6.设置全局背景图片(可以展现在任何应用里面,如微信,浏览器)Android夜间模式Android夜间模式开启或者关闭Android夜间模式:上文第二步,只需点击应用图标即可开启或者关闭夜间模式,当然你也可以在进入应用后自由开启或者关闭。方法是点击这个复选框Android夜间模式快速设置自己喜欢的滤镜:点击应用右侧的“+”号,可以快速设置一个自己喜欢的夜间模式颜色。Android夜间模式调节夜间模式的亮度:除了预设的亮度外,我们还可以自己调节屏幕的亮度。Android夜间模式自定义自己喜欢的夜间模式滤镜颜色:除了预设的集中夜间模式颜色外,应用还提供了一个可以让用户自定义的调色器,我们可以根据自己的喜好去自己配色。Android夜间模式开启或者关闭通知栏:“月食-夜间模式”考虑到一部分用户的使用习惯,允许用户关闭该应用在通知栏的信息,这样应用就会完全浸没在后台运行。我们只需要点击桌面图标,开启夜间模式;再次点击桌面图标,关闭夜间模式。注:如果想再次进入应用,可以双击桌面图标,这样通知栏再次开启,可以从通知栏进入应用。Android夜间模式设置背景图片:“月食-夜间模式”一个非常强大的功能。它允许我们设置一张图片作为任何应用的背景。应用内置了3张图片可供选择,如果希望设置自己的图片,可以购买高级版本。Android夜间模式Android夜间模式Android夜间模式Android夜间模式Android夜间模式本回答被网友采纳,三星手机本机没有自带此功能,可以尝试下载第三方软件实现,1、同为Android手机,不同牌子的,设置方法不同。2、以魅族手机为例,登录qq后,向右划就会出现,工具栏,点击最下面夜间模式即可。如图:,可能是扣扣软件的问题,皮肤是扣扣的软肋..本回答被提问者采纳内容来自www.51dongshi.net请勿采集。

声明:本文由用户 promise111 上传分享,本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。

显示全文
专题微软推出AI新算法,能够加快旧照片修复效率微软推出AI新算法,能够加快旧照片修复效率专题2022年的假期安排出炉,快来一起看看吧2022年的假期安排出炉,快来一起看看吧专题骑手摔猫引发热议,结果被永久封号骑手摔猫引发热议,结果被永久封号专题张一鸣身价594亿美元超腾讯马化腾,成中国互联网首富张一鸣身价594亿美元超腾讯马化腾,成中国互联网首富专题AI打造童话世界,引领科技生活AI打造童话世界,引领科技生活专题特斯拉公司CEO马斯克,给大众高管传授电动汽车经验特斯拉公司CEO马斯克,给大众高管传授电动汽车经验专题网友爆料蚂蚁森林未种植梭梭,官方辟谣网友爆料蚂蚁森林未种植梭梭,官方辟谣专题AI是否拥有著作权,进入人们的视野AI是否拥有著作权,进入人们的视野专题Twitter股价跌至超10%,创造近 6个月最大跌幅Twitter股价跌至超10%,创造近 6个月最大跌幅专题关于未来人工智能发展的三大预测关于未来人工智能发展的三大预测专题微博新增“炸毁”评能:只对自身个人隐藏微博新增“炸毁”评能:只对自身个人隐藏专题官方回应解决屏蔽网址链接等问题官方回应解决屏蔽网址链接等问题专题B站上线童年动画专区:重温童年经典B站上线童年动画专区:重温童年经典专题AI审美开始对我们的生活评头论足,影响着我们个性化审美AI审美开始对我们的生活评头论足,影响着我们个性化审美专题韩国电信 KT 对“网络瘫痪事件”正式道歉韩国电信 KT 对“网络瘫痪事件”正式道歉专题网约车车内监控视频引发热议,司机拒逆行遭表扬网约车车内监控视频引发热议,司机拒逆行遭表扬专题抖音直播开展打击低俗、不良价值观内容行动抖音直播开展打击低俗、不良价值观内容行动专题人脸识别AI技术,从梦想走进生活人脸识别AI技术,从梦想走进生活专题王小川告别搜狗,将进入医疗健康领域王小川告别搜狗,将进入医疗健康领域专题部分网约车平台开展非法营运,交通运输部等五部门联合约谈部分网约车平台开展非法营运,交通运输部等五部门联合约谈专题软银成立30亿美元,用来投资拉美科技公司软银成立30亿美元,用来投资拉美科技公司专题多家互联网集团取消大小周,小鹏汽车每天工作8小时多家互联网集团取消大小周,小鹏汽车每天工作8小时专题AI防“疫”,人工智能发挥了多少作用?AI防“疫”,人工智能发挥了多少作用?专题段永平回应“重出江湖联合OV造车”绝不会发生段永平回应“重出江湖联合OV造车”绝不会发生专题AI助力精准防控,帮助病例筛查、药物研发AI助力精准防控,帮助病例筛查、药物研发专题外卖骑手为消差评拿砖上门被刑拘,结果顾客没评论外卖骑手为消差评拿砖上门被刑拘,结果顾客没评论专题分析师认为马斯克将凭SpaceX成首位万亿富豪分析师认为马斯克将凭SpaceX成首位万亿富豪专题人脸识别技术应用应该刹刹车,划定好边界人脸识别技术应用应该刹刹车,划定好边界专题知名游戏主播山泥若二审宣判,被判刑3年并处罚金5万元知名游戏主播山泥若二审宣判,被判刑3年并处罚金5万元专题公租房小区被曝,超过10万元的豪车拒进公租房小区被曝,超过10万元的豪车拒进专题Android夜间模式专题