首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Scoops android app多主题架构(一)

简要说明 Scoops是一个android应用库,主要解决的是多主题实现方案。通过配置多个R.style.Theme ,代码进行动态设置主题,重启当前界面实现。...使用方法 1 项目的build.gradle里面 2 模块的build.gradle里面 3 values里面加入themes.xml 配置一些主题,为了多主题更换使用 4 AndroidManifest.xml...里面 配置上默认主题,这里要注意的是配置的和5里面写的默认的那个要一致 5 MainApp里面 完成初始化,主要设置一系列的主题。...3:这里说下为什么需要在AndroidManifest.xml里面配置默认主题,因为Scoops设计,在判断主题没有更改的情况下,不进行设置主题,因此第一次进来不会设置。所以我们要配置默认主题。...这里的true第三个参数说明设置为默认主题,和我们在AndroidManifest.xml设置的主题一致即可。

942100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Scoops android app多主题架构(三)

    白天夜间主题 很多应用都有这个功能,可以选择白天和夜间模式,给用户更好的体验。为此,系统也提供了一种机制,来实现此功能。 模式主要分为四种 夜间 白天 跟随系统 和自动。...具体实现可以去看com.android.support:appcompat-v7:23.0.0源码 夜间和白天模式很好理解。自动就是根据时间判断是否为白天和夜间,自动选择对应主题。...实现原理 通过两组主题,分别放在values和values-night下面,系统根据你设置的模式,对应的去找主题配置值,然后设置上去即可。...textColor和textSize 格式分别为color和dimension 2创建一个目录values-night 3在values和values-night下面新建一个文件themes.xml,同时配置相同的主题...mMode的值可以取以下几个 MODE_NIGHT_FOLLOW_SYSTEM MODE_NIGHT_YES MODE_NIGHT_NO MODE_NIGHT_AUTO 5我们配置下使用的地方 这里的 android

    57070

    Scoops android app多主题架构(二)

    简要说明 通过注释方式,完成多主题的效果更换。可以减少一些代码,使得代码更清晰一些。...5 ColorAdapter适配器 如果需要自己自定义主题更换后的view颜色变换动作(主要是有时候不符合我们的需求,比如我们想动态改文本颜色,高亮色等),我们就需要自定义一个实现ColorAdapter...ColorAdapter定义了两个方法 设置新的颜色值 void applyColor(T view, @ColorInt int color); 获取当前颜色值 int getColor(T view); 6 主题...adapter=XXX.class 如果用默认的 ,请加上adapter = DefaultColorAdapter.class 2 默认的设置ScoopSettingsActivity界面,当设置为默认主题的时候...原因是这个界面指定了主题android:theme=”@style/Theme.AppCompat.Light” 如果我们默认的界面指定的跟这个不一样,则这个设置界面则会在默认主题的时候出错,和设置的效果不一致

    54080

    关于Android的Holo主题

    Android曾经为了优化用户体验,把原生的Holo主题作为Android CTS兼容性测试的一部分,这样每家手机厂商在生产手机的时候都将保留该主题,便于开发者开发出在各个分辨率和机型上兼容的应用。。...但是在我们最近产品的使用Holo主题的时候发现并非如此,有的用户的手机使用该主题后应用Crash,提示有个别资源找不到,还有的手机在使用后整个界面黑屏,还有的就是样式等搭配不合理无法使用。...最后说明的虽然Android要求了Holo主题作为CTS的一部分,不过还有很多手机对此支持不太好,所以还是尽量不要用该主题,如果需要该主题里的一些定义,最好是把该定义单独复制出来,作为当时默认主题的一部分来使用...还有国内的Android市场,看那个混乱的阿,各种恶意竞争,你搞我,我抓你,玩的不亦乐乎。。你们这么做,能活多久呢?什么时候能真正做出来自己的东西呢?

    80920

    Android开发 - 样式和主题

    比如,你可以使用Dialog主题让你的Activity 表现的像一个 对话框: android:theme="@android:style/Theme.Dialog"> 或者你想让你的背景透明...,使用 透明主题: android:theme="@android:style/Theme.Translucent"> 如果你喜欢主题,但是想开足马力使用它,那么你可以添加它到你的自定义主题中的... 当应用跑在Android 3.0(API级别11)或者更高以上时,可以让这个样式使用较为新一些的holo风格主题,你可以放置一个可供选择的声明样式防止在res/values-v11这个文件夹下的...XML文件中,但是让这个样式继承自 holo风格的主题: android:Theme.Holo.Light">...获得更多关于样式和主题的引用,你可以看下面的源代码: Android Styles (styles.xml) Android Themes (themes.xml) 那些文件将通过实例帮助你学习。

    1.8K10

    Android主题换肤 无缝切换

    Android的主题换肤 ,可插件化提供皮肤包,无需Activity的重启直接实现无缝切换,可高仿网易云音乐的主题换肤。...关于Android的主题换肤都是个老生常谈的问题了。...其实这个框架是可以拿来直接来用的,直接几行代码基本上就可以解决Android的主题换肤,但是作为一个程序员怎么可以只是简单的知道怎么用就行了吗?如果真是这样就真的太low了。...好了说了这么多,通过本文你可以学到什么,这个可能是大家比较关心的一点 设计出一个基于MaterialDesign风格的App 自己实现一个主题换肤的框架 高仿网易云音乐的主题换肤(ps:其实本来我想以这个作为标题的...load包里面的这两个类讲的差不多了,这里看懂了后面的内容也就是小菜一碟了,我相信你看了这里再去看源码一定会轻松地多。

    3K50

    Android 样式系统 | 主题背景属性

    在 Android 样式系统系列的前几篇文章中,我们介绍了主题背景与样式的区别,以及为什么说通过主题背景和公共主题背景属性来分解您要实现的内容是一个不错的主意,请点击链接回顾: Android 样式系统...| 主题背景和样式 Android 样式系统 | 常见的主题背景属性 这会让我们通过创建更少的布局或样式,以隔离主题背景中的修改。...SPDX-License-Identifier: Apache-2.0 --> <View …   android:background="@color/white"/> 相反,您应该使用主题背景属性,...SPDX-License-Identifier: Apache-2.0 --> <selector … android:alpha="0.20" android:color="?...SPDX-License-Identifier: Apache-2.0 --> <selector … android:alpha="0.50" android:color="#80ffffff

    1.4K20

    Android 10适配要点,深色主题

    而除了作用域存储之外,深色主题也是Android 10中的一大亮点,并且是需要开发者进行适配的。因此本篇文章我们就来探讨关于深色主题的内容。...因此,一直以来都有强烈的呼声,希望Android能够在系统层面支持夜间模式功能。终于在Android 10.0系统中,Google引入了深色主题这一特性,从而让夜间模式正式成为了官方支持的功能。...为此,我们以后开发的应用程序都应该尽量按照Android系统的要求对深色主题进行支持,不然当用户开启了深色主题之后,只有你的应用还使用的是浅色主题的话,就会显得格格不入。...这里给AppTheme主题增加了android:forceDarkAllowed属性并设置为true,说明现在我们是允许系统使用Force Dark将应用强制转换成深色主题的。...好了,关于Android 10深色主题的适配内容就讲到这里。

    1.8K10

    一篇搞定 Hexo Diversity 主题接入!支持多主题自由切换!

    目前 Hexo 拥有 400+ 的主题,使用者可以在众多的主题中选择一个应用到自己的框架中。 因为框架限制,我们在线运行时只能选择其中一个主题来展示自己的博客。...当然也可以部署多套不同主题的环境,但这不是最好的方案。 下面我们要接入的 Hexo Diversity 主题,就是一个可以实现多主题自由切换的解决方案。...该文件主要配置 多主题列表 和 多主题服务器端口列表; themes: [landscape,light,phase] #ports: [5000,5001,5002] 接着,在你的Hexo项目根目录...,添加config目录,为上述多主题列表中的每个主题添加一个对应主题名的配置目录,并在该配置目录下添加对应的_config.yml【直接从你原来项目根目录下的_config.yml复制一份即可】,形如:...博客 导航菜单用于展示设置的默认主题博客页面,如果没有设置默认主题,则展示无主题页【用于跳转主题选择页】 主题 导航菜单除了V1版本中的功能,还可以设置默认主题【弹出的提示信息中可点击跳转个人博客页】、

    17221

    Android 样式系统 | 主题背景和样式

    Android 提供了功能强大的样式系统 (Android styling system) 来实现应用的视觉设计,但它也容易被误用。...本系列文章将由 Android 开发者关系团队的工程师 Nick Butcher 和 Chris Banes 共同撰写,与各位开发者们共同揭开 Android 样式系统的神秘面纱,帮助您高效编写时尚的应用界面...SPDX-License-Identifier: Apache-2.0 --> <Button … android:gravity="center_horizontal" android:textAppearance...什么是主题背景? 主题背景是一组命名的资源的集合,这些资源可以被样式或者布局文件等引用。它们提供了一种对 Android 资源的语义名称 (Sematic name),能够让您在其他地方引用这些资源。...-- AndroidManifest.xml --> <application … android:theme="@style/Theme.Plaid"> <activity … android

    1.2K30

    Android-日夜主题切换(google推荐)

    android日夜间模式切换相比大家都接触过,我之前也经常用,但今天想给大家推荐一个google推荐的实现方式,实现起来比较简单,就是咱们今天的主角主题-----Theme.AppCompat.DayNight...需要提供的坐标权限如下: android:name="android.permission.ACCESS_COARSE_LOCATION"/> android:name="android.permission.ACCESS_FINE_LOCATION"/> 1.如何使用Theme.AppCompat.DayNight。...1.3 如何引用我们自定义theme的属性 控件引用我们自定义的属性的格式: android:需要修改的属性="?attr/属性名称" 如图: ?...如果你的页面中存在webview加载,你应该尽可能使webview加载的页面和你的主题相符这样用户体验好点。 行了,今天就说这么多!

    3.1K30
    领券