首页
学习
活动
专区
圈层
工具
发布

这些Android系统样式中的颜色属性你知道吗?

/v7/appcompat/res/values-v21/themes_base.xml 同时由于部分属性的版本兼容问题,为了避免添加多个版本的 styles 文件,可以省略 android: 命名空间...不过 ActionBar 已经不鼓励使用了,由 Toolbar 来代替,需要给 Toolbar 来设置背景颜色。...,比如 actionbar 文本的颜色,比如 Button 中的文本颜色,EditText 中的文本颜色,AlertDialog 中的文本颜色。...当然了为了兼容性,我们一般使用j兼容包里面的 Them.AppCompat 主题 与之对应的样式主要有 Them.AppCompat 和 ThemeOverlay.AppCompat ,当然他们两个又有各自的子类...这两种样式也有不同的使用方法 Theme.AppCompat 一般用于设置整个应用程序的全局主题 ThemeOverlay.AppCompat 用于覆盖特定视图的主题,覆盖相关的属性使他们成为亮或者暗

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

    Android Support 和 AndroidX

    *包下的API都是随系统发布的,而androidx.包下的API都是随着扩展库发布的,API基本不依赖于操作系统的具体版本; ② 命名规则 → AndroidX Library 中所有的库命名规则不再包含具体的操作系统...API版本号,如下面的appcompat-v7变成了appcompat库; api 'com.android.support:appcompat-v7:28.0.0' api 'androidx.appcompat...,可直接查 官方文档 或下载映射的 CSV文件,修改示例如下: import android.support.v7.app.AlertDialog 修改成 → import androidx.appcompat.app.AlertDialog...⑤ Glide注解不兼容AndroidX 答:Glide升级到4.8.0以后,具体可见 官方issues ⑥ 没有迁移到androidX,却出现Support库和AndroidX库冲突?...看官方从是哪个版本开始引用androidx库的,回退到之前的版本即可。另外,建议引用依赖库时使用具体的版本,而尽量避免使用latest.release或+方式。

    3.3K10

    Android Support vs AndroidX

    *包下的API都是随系统发布的,而androidx.包下的API都是随着扩展库发布的,API基本不依赖于操作系统的具体版本。...②命名规则→ AndroidX Library 中所有的库命名规则不再包含具体的操作系统API版本号,如下面的appcompat-v7变成了appcompat库。...gradle.properties 文件中添加下述配置: # 当前项目启用androidx android.useAndroidX=true # 将依赖包也迁移到androidx,一般写true # 如果设为false表不迁移依赖包到...androidx,如果有第三方依赖可能会出问题 android.enableJetifier=true ③ 修改依赖库 参照AndroidX变化中的依赖库映射改,可直接查官方文档: https://...修改成 → import androidx.appcompat.app.AlertDialog import android.support.v7.app.AppCompatActivity

    1.9K20

    Android弹窗二则: PopupWindow和AlertDialog

    这里说两个常用的弹窗类, PopupWindow和AlertDialog. 我的理解就是, PopupWindow较为随性, 可以在任意位置弹窗, 比如你经常看到的朋友圈点赞的那个小的弹窗....那AlertDialog就很正经了, 位置固定在中央, 比如无比烦人的更新提示就是用的它, 大多数都是消息标题+内容+确定按钮+取消按钮. 好, 不多废话了. ?...在高版本的android中(比如8.0), 实测可以不写, 但是低版本就不行了(比如4.1), 低版本不写的话, 会导致点击返回或者是屏幕其它地方无法取消弹窗, 所以稳妥起见还是加上, 并设置一个透明色...实例解析 解析: 先来看一下Module中的build.gradle, 关键是compile 'com.android.support:appcompat-v7:25.3.1', 版本要确保大于22...第二种实例化方法会导致5.0前和5.0后风格不统一, 这里来两张效果图.

    2.2K60

    Android自定义弹出计时进度条-ProgressDialog和ProgressBar的用法

    Android中一开始对进度条的实现是通过ProgressDialog,可以弹出一个对话框,对话框里显示进度条。但是ProgressDialog在8.0以后被遗弃了,虽然也可以用,但是官方不推荐使用。...android.view.View; import android.widget.ProgressBar; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity...builder = new AlertDialog.Builder(this); builder.setTitle("请选择您喜欢的课程"); final String...layout_width="match_parent" android:layout_height="wrap_content" style="@style/Widget.AppCompat.ProgressBar.Horizontal...但是最后发现实现不了,虽然ProgressDialog也可以实现,但是毕竟现在已经不推荐使用这个控件了,谁知道什么时候就会取消呢。

    3.3K50

    再不迁移到Material Design Components 就out啦

    MDC取代了设计支持库。本指南将向您展示如何迁移代码库,以便您可以使用新的属性,样式和小部件。 精简的主题示例 本指南使用了精简的应用程序来演示迁移过程。...它使用AppCompat主题,设计支持库中的小部件(包括具有自定义背景的按钮)以及需要迁移的各种其他元素。...Jetpack使用新的androidx.*名称空间,并将以前的支持库程序包拆分为单独维护的语义版本化的库,从而提供部分功能的新库。MDC是使用AndroidX库构建的,因此必须进行迁移。...MDC-Android default style attr AlertDialog.Builder AlertDialog.AppCompat ThemeOverlay.AppCompat.Dialog.Alert...attr/colorSecondary 但是,您应该考虑不推荐使用这些属性。使用更合适的MDC属性或逐步淘汰它们。

    4.7K30

    Android-Support库22.1版

    ,必须不断机械化地创建、排列拷贝那些无意义的XML包裹文件与图片资产。...二、AppCompat架构核裂变:再见ActionBarActivity这是一张标志着全面进入组件化配置时代的关键宣告。...旧版的对话模态体系完全丧失了各种新特性的滋养,现在使用support.v7.app.AlertDialog替代那些腐朽的默认android.app.AlertDialog将可以直接激活带有MD标准风格特性的全部按钮配色对齐反馈以及圆角面板...并接截流的控件全感知网织链为何你随意把一个原装的Button放置在通过AppCompat环境构建的父系外壳组件下,它就会瞬间获得智能反馈色彩映射外衣(Ripple或是强高光态改变)?...Palette生成优化提取流程重建那个之前在提取图片主脑核心视觉色调方案极客级库进行了逻辑层面的大洗牌加速,其运转速率暴力提升68倍不等。最彻底的是其推翻了单薄的单一同步拦截方法。

    25410

    Android单元测试框架Robolectric3.0(一):入门篇

    的测试非常头疼,Robolectric可以解决此类问题,它的设计思路便是通过实现一套JVM能运行的Android代码,从而做到脱离Android环境进行测试。...注:Robolectric 3.1 之后,不建议用 Intent.equals() 的方式来比对两个 Intent ,因此以上代码将无法正常执行。目前建议用类似代码来断言: ?...当然,Intent 有很多属性,如果需要分别断言的话比较麻烦,因此可以用一些第三方库,比如 assertj-android (https://github.com/square/assertj-android...以上代码的单元测试用例: ? 6 Shadow的使用 Shadow是Robolectric的立足之本,如其名,作为影子,一定是变幻莫测,时有时无,且依存于本尊。...第二篇则讲解关于代码中的日志如何输出、网络请求、数据库操作如何测试,尽情期待。

    3K30

    像 google 一样测试系列之三:方案选型篇

    但:组内希望与大组保持一致,即用testng,提供一个界面点击后运行用例。同时是运行在业务app内。...开发也不建议写在一起; (2)同时都能以命令行运行了,还要搞界面来点击运行用例,感觉多此一举; (3)测试范围上有些减少,比如 Android层的测试,Activity内一些private的逻辑的测试...非要测,就会变成触发UI点击来测,就变成了UI自动化了; (4)与google单测理念不一致,一些google提供的测试库不支持; (5)调试不方便,每调试一次,都要打一次包,而打包耗时较久。...考虑的是:Robolectric。...1、从Robolectric样例代码可以看出,目前Robolectric 基本是 从UI层介入,理论上可以忽略UI层,测试单一组件的逻辑,但关键的是不能测试组件的集成逻辑。

    1.4K10

    【测试左移专栏】用 Powermock 和 Mockito 来做安卓单元测试

    测试选型:他的职责决定了他很少去断言输入输出,测试逻辑覆盖的路径是否正确即可,因此他与Android环境无关,用Junit+Mockito测试即可,代码存放于test中。...Model层: 职责:负责数据的存取,数据可能来自于网络、数据库和内存。...网络请求:不测试真实的网络请求,但提供了Fake供其他层调用测试。 封装的门面类:决定了数据的来源和去向是来自于本地数据库 or 网络 or 内存,此为真正对其他层暴露的Model类。...注:如果用到什么框架就将框架引用进来即可,但有些工具主要版本号的相互搭配,不匹配可能会出现错误。...如果你的Android Studio的Gradle Sync同步成功,那么恭喜你单测环境基本OK了,依赖库基本也已经下载完毕,下面可以愉快的开始着手代码编写了。

    6.3K00

    Android 测试全景:从单元测试到 UI 自动化的完整实践

    单元测试基础:JUnit、Mockito 与 Truth单元测试的核心是隔离验证——针对单个类或方法,屏蔽外部依赖,快速验证逻辑正确性。...:robolectric:4.10.3'测试一个带 Context 依赖的工具类:import org.junit.Testimport org.junit.runner.RunWithimport org.robolectric.RobolectricTestRunnerimport...| 接近真实环境,仍在 JVM 运行 | | 复杂 UI 交互、动画、传感器 | 仪器测试 | 必须在真实环境验证 | | 数据库(Room)、文件 I/O | 两者皆可 | Robolectric...快,仪器测试更准确 |UI 自动化测试:Espresso 与 UI AutomatorEspresso:应用内 UI 测试Espresso 是 Google 官方的 UI 测试框架,适合测试单个应用的界面交互...测试要快:单元测试应在毫秒级完成,整个测试套件不超过 5 分钟 2. 测试要独立:每个测试可以独立运行,不依赖执行顺序 3.

    22501
    领券