在前一篇 Android 样式系统文章 中,我们介绍了主题背景与样式的区别,以及如何编写灵活的样式与布局代码用于抽离可变化部分。...我们建议使用主题背景属性来间接引用资源,您可以在不同的模式下 (比如在 深色主题背景) 实现灵活地切换。...attr/colorPrimarySurface 在浅色主题中的 colorPrimary 与深色主题背景中的 colorSurface 中做切换; ?...应用命名空间 vs Android 命名空间 您可能注意到有些属性的引用是通过 ?android:attr/foo 而有些只是通过 ?attr/bar。...平台跟库有时候定义了相同的属性,如 colorPrimary。这时候系统优先使用非平台版本的属性,它们可以被所有级别的 API 使用。为了向后兼容,它们会被完整的复制到库中。
但是在5.0以上的手机上颜色显示的效果不怎么好。 就像下图这样,颜色处理的不怎么好。 一开始百度找解决办法,搜了一下没什么结果,只能啃官方的api了,然后就找到了。 其实这种效果很好处理。...只要在xml文件中设置一下属性就可以了 android:headerBackground 头部背景,设置这个属性为 #808080 就变下图这样了。是不是感觉好多了。...http://blog.csdn.net/lxk_1993/article/details/51351365 另外还有其他的属性: android:calendarViewShown="false"...是否显示日历视图 android:firstDayOfWeek="" 设置日历星期第一天是哪一天 android:headerBackground="@color/gray" 头部的背景颜色 android..." 定义部件的外观,有spinner和calendar两种选择(Api 21 以上才能用) android:dayOfWeekBackground="@color/gray" 头部的星期的背景颜色(Api
按照这个说法,一旦手机睡着了,应该就收不到任何消息、电话了,但实际上,并不是这样,其中原因,和Android的系统架构有关。...其中AP就是我们一般说的CPU,它通常是ARM架构,当然也有奇葩的x86架构,它用于运行我们的Android系统,在非睡眠情况下,AP的功耗非常高,特别是在绘图、计算、渲染等场景下。...前面说了,整个通信协议栈是运行在BP上的,那么当有消息数据包到达时,BP就会唤醒AP,进行相应的处理。 同时,Android API还提供了WakeLock机制,那么为什么要设计这个机制呢?...前面说了,一旦用户按电源键进行睡眠,AP中的所有进程都讲被Suspend掉,那么某些程序的关键代码,就有可能不能被执行,所以,Android提供了WakeLock来让开发者在睡眠模式下也能阻止AP进入睡眠...3 还有个奇葩 在Android系统中,还有个比较奇葩的东西,那就是AlarmManager,这个东西可以用来做定时、做闹钟,相信大家都知道了,但是它到底运行在AP还是BP呢?
Android 系统样式中的颜色属性 推荐阅读看完后彻底搞清楚Android中的 Attr 、 Style 、Theme 几个常用的颜色属性 先放上一张经典的图片,图片来自网络。 ?...这张图在网上很是流传,也不知道当初是哪位大神标注的,很好的说明了 Android 系统中的几个常用的颜色属性的作用范围。...在开发者官网 R.attr 中给我们列出了所有的系统属性,我们可以在这里面找到对应的颜色属性所代表的意思。...不过 ActionBar 已经不鼓励使用了,由 Toolbar 来代替,需要给 Toolbar 来设置背景颜色。...当然了为了兼容性,我们一般使用j兼容包里面的 Them.AppCompat 主题 与之对应的样式主要有 Them.AppCompat 和 ThemeOverlay.AppCompat ,当然他们两个又有各自的子类
CSS背景属性用于定义元素的背景效果,常用的有5种背景属性:背景颜色、背景图片、背景图片重复展示的方式、背景附着的方式以及背景位置 background-color background-image background-repeat...background-attachment background-position 背景颜色background-color CSS中可以通过background-color属性指定元素的背景颜色,例如指定...body元素的背景颜色: body { background-color: lightblue; } 颜色的表示方式也有3中,具体可参见RGB颜色对照表以及详细介绍CSS中的三种颜色表示方式 背景图片...background-attachment CSS使用 background-attachment属性指明 背景附件属性来设置背景图像是否是固定的或是与页面的其余部分一起滚动。...local 背景沿元素的内容滚动 initial 将此属性设置为其默认值 inherit 从它的父元素继承这个属性 例如,背景图片一直显示在右上角: body { background-image
前言 作为一个android程序员,对于shape、selector这两个标签一定不陌生。...每当UI设计师给我们设计出一个个button背景的时候,我们就需要去drawable文件夹下去新建一个bg_xxx.xml,然后很多时候区别仅仅是一个边框的颜色或者填充的颜色。...网上之前也有了一种通过自定义View,在xml中通过设置属性达到shape效果的控件。...简单的原理解析 app:xxx app:xxx属性就不用多说了,这些就是一些自定义属性而已。在这里我把shape、selector的部分属性转换成自定义的属性,这样就方便添加到已有原生控件中。...来实现向下兼容的。
在 Android 样式系统系列的前几篇文章中,我们介绍了主题背景与样式的区别,以及为什么说通过主题背景和公共主题背景属性来分解您要实现的内容是一个不错的主意,请点击链接回顾: Android 样式系统...| 主题背景和样式 Android 样式系统 | 常见的主题背景属性 这会让我们通过创建更少的布局或样式,以隔离主题背景中的修改。...在实际开发中,您通常希望根据主题背景改变颜色,因此您应该始终通过主题背景属性来引用颜色。 这意味着您可以将如下代码视为有代码异味 (Code smell): <!...通过使用主题背景属性,我们可以将语义颜色的声明从提供它们的值中区分开来,而且让使用方更清楚地了解到颜色会随主题背景而变化 (因为它们使用 ?attr/ 语法)。.../样式中直接引用主题背景属性。
attr/selectableItemBackground 将该View的background属性设为标题的样式即可,这样在5.0以上就有了波纹效果,在5.0以上就是selector的效果。...原理 设置了attr/selectableItemBackground,其实是给View设置了一个RippleDrawable的背景。...="10dp"> 其中ripple中的color表示波纹的颜色,radius...当不设置item时,比如: <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="#...5.0版本以下的兼容性 使用自定义ripple后,在5.0版本以上用不了,替代方法是将上面的布局放到drawable-v21目录下,在drawable目录下创建一个同名文件,使用selector作为背景色
android:style/Theme.Material.Light" 在最新的5.0中,google似乎不推荐使用Material Design主题了,而是由AppCompat代替。...触摸反馈: 在Android L5.0中加入了触摸反馈动画。 其中最明显,最具代表性的就是波纹动画,比如当点击按钮时会从点击的位置产生类似于波纹的扩散效果。...可以通过如下代码设置波纹的背景: android:background="?...android:attr/selectableItemBackgroundBorderless"波纹超出边界 使用效果如下: B1是不设任何背景的按钮 B2设置了?...设置颜色 我们也可以通过设置xml属性来调节动画颜色,从而可以适应不同的主题: android:colorControlHighlight:设置波纹颜色 android:colorAccent:设置
介绍 DialogFragment在android 3.0时被引入。是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框。典型的用于:展示警告框,输入框,确认框等等。...注:官方不推荐直接使用Dialog创建对话框。...本文主要给大家介绍了关于Android中DialogFragment自定义背景与宽高的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。...getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE); // ...... } 然后在onStart方法里重新指定宽高 先设置透明背景...,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对ZaLou.Cn的支持。
CSS 变量除了 IE,其余各大浏览器都支持的比较好,但 prefers-color-scheme 方法还处于 W3C 草案规范,需要对不兼容浏览器做向下兼容,具体浏览器兼容性可以查询 Can I Use...所以我们需要针对不兼容的浏览器做一些兜底处理,这里我们可以在 webpack 等构建工具中借助 post-css 的 postcss-css-variables (https://www.npmjs.com...项目实践 现在的 Web、App 项目大都引用第三方开源组件库,组件库一般会使用 Sass、Less 等 CSS 预处理器定义颜色变量作为组件的基础色值,并单独抽离为配置文件。...主题背景和样式 主题背景和样式应避免使用旨在于浅色主题背景下使用的硬编码颜色或图标,您应改用主题背景属性(首选)或适合在夜间使用的资源,以下是需要了解的两个最重要的主题背景属性: ?...android:attr/textColorPrimary 这是一种通用型文本颜色,它在浅色主题背景下接近于黑色,在深色主题背景下接近于白色,该颜色包含一个停用状态。 ?
文章目录 一、:: 双冒号操作符 1、获取类的引用 引用类型 KClass 说明 2、获取对象类型的引用 3、获取函数的引用 4、获取属性的引用 二、 java.lang.Class 与 kotlin.reflect.KClass...一、:: 双冒号操作符 ---- 在 Kotlin 中 , :: 双冒号操作符 的作用是 获取 类 , 对象 , 函数 , 属性 的 类型对象 引用 ; 获取的这些引用 , 并不常用 , 都是在 Kotlin...反射操作时才会用到 ; 相当于 Java 中的 反射 类的 字节码类型 Class 类型 , 对象的类型 Class 类型 , 对象的函数 Method 类型 , 对象的属性字段 Field 类型 ;...KClass 说明 Kotlin 中 类的引用类型 KClass 中 提供了很多有用的属性 , 如 : public actual val simpleName: String?..., Class 的全类名是 java.lang.Class ; 与 KClass 相对的是 Java 中的 Class 类 , 是 Java 中的 类的 引用类型 ; 在 Java 语言中 , 需要通过
由于MDC-Android,AppCompat和框架之间共享历史记录,因此,颜色属性集包括以下内容: 框架中已适当命名的现有属性(例如android:colorBackground) AppCompat...MDC窗口小部件使用这些属性来为其背景,文本,图标等着色。要了解哪些小部件使用哪种颜色,需要检查源代码中的默认小部件样式。 AppCompat和框架中还存在一些颜色,但不再适用于此新系统。...*主题尽最大努力向后兼容他们,例如小部件,这些旧属性。 ?attr/colorSecondary 但是,您应该考虑不推荐使用这些属性。...MDC小部件使用这些属性来设置其背景样式。要了解哪些窗口小部件适用于哪些形状类别,需要检查源代码中的默认窗口小部件样式。 控件背景 实现此功能的类为 MaterialShapeDrawable....我们不建议使用 android:background 作为 MDC 控件的背景。因为它会覆盖 MaterialShapeDrawable。
); 5.xml引用 <com***.PasswordView android:id="@+id/password" android:layout_width="240dp" android...android:background="@null" </com***.PasswordView 6.还可以设置些属性 在sytle中设置,通过xml中的app:xxx引用。...-- 密码圆点的颜色 -- <attr name="passwordColor" format="color"/ <!...-- 背景边框的颜色 -- <attr name="bgColor" format="color"/ <!...-- 背景边框的大小 -- <attr name="bgSize" format="dimension"/ <!
废话不多说,这里我们就来介绍一下在原生系统下进行黑暗模式的适配。 AndroidQ黑暗模式适配: 适配原理介绍:黑暗模式和正常模式,无非就是两种主题间的切换(主要是各种背景色,字体颜色和Icon)。...(主要是颜色属性:背景色、字体颜色和Icon颜色等并给属性赋值),类似如下定义: 供在上一步的style中引用,不同模式下提供不同的值 <!...-- 主要背景颜色-- <attr name="main_bg_color" format="color" / //不同模式下的颜色属性值 <color name="main_text_color_light...main_bg_color_light" #ffffff</color <color name="main_bg_color_dark" #000000</color 在activity和xml中引用我们自定义的属性...,可在xml文件的activity节点下加入如下属性: android:configChanges="uiMode" ps:Icon的适配可以借助tint属性切换不同模式的颜色。
与之对应的向下(L -)兼容Theme: Theme.AppCompat Theme.AppCompat.Light Theme.AppCompat.Light.DarkActionBar Toolbar...(mToolbar); Toolbar的定制 先看看本实例中Toolbar的样子吧,然后再来说Toolbar的一些属性,如图: ?...####xml style属性: colorPrimaryDark:状态栏的颜色(可用来实现沉浸效果) colorPrimary: Toolbar的背景颜色 (xml中用android:background...attr/colorPrimary”指定) android:textColorPrimary:Toolbar中文字的颜色,设置后Menu Item的字体颜色也会跟随 colorAccent:图中没有示例出来...,这个是例如EditText正在输入时,RadioButton选中时的颜色(自己动手试下) xml属性: app:title=”App Title”:Toolbar中的App Title app:subtitle
最后,通过标签来声明具体的自定义属性,比如在这里定义了标题文字的字体、大小、颜色,左边按钮的文字颜色、背景、字体,右边按钮的文字颜色、背景、字体等属性,并通过format属性来指定属性的类型...这里需要注意的就是,有些属性可以是颜色属性,也可以是引用属性。...比如按钮的背景,可以把它指定为具体的颜色,也可以把它指定为一张图片,所以使用“|”来分隔不同的属性----“reference|color”。 ...同样地,如果要使用自定义的属性(即attr.name 中的属性),那么就需要创建自己的名字空间,在Android Studio中,第三方的控件都使用如下代码来引入名字空间。...与系统原生的View最大的区别就是在申明控件时,需要指定完整的包名,而在引用自定义的属性时,需要使用自定义的xmlns名字。
在本系列的第一篇文章中,我会介绍样式系统的基础部件: 主题背景与样式。 主题背景 !...样式中定义的值与布局文件中设置的值会融合在一起 (解决方法见这篇文章: 使用样式优先级顺序)。 什么是主题背景? 主题背景是一组命名的资源的集合,这些资源可以被样式或者布局文件等引用。...它们提供了一种对 Android 资源的语义名称 (Sematic name),能够让您在其他地方引用这些资源。例如 colorPrimary 就是对一个给定颜色的语义名称。 <!...主题背景的使用效果取决于您的使用方式,您可以通过引用主题背景属性来创建灵活的 Widget。不同的主题背景可以在未来再提供具体的值,比如为 View 层级结构中的某个部分设置背景颜色。 <!...attr/themeAttributeName 语法委托给主题背景来完成。 这个语法表示通过指定的属性名称,从主题背景中获取相应的值。
一、XML样式 根据上面的效果图,我们首先来确定XML中的属性样式,修改attrs.xml的代码如下所示: 这里你会发现一个改变,那就是文字颜色和文字大小的属性从之前的...declare-styleable中抽出来了,因为我们可能多个自定义控件会用到同样的属性,那么根据属性不可重名的原则,我们需要抽离出来,然后在declare-styleable引用。
文章目录 一、Android 中的 WebP 图片格式兼容问题 二、Android 中的 WebP 图片格式性能 三、参考资料 一、Android 中的 WebP 图片格式兼容问题 ---- 在 Android...开发者指南 中的 " 核心主题 / 音频和视频 / 支持的媒体格式 " 页面 , https://developer.android.google.cn/guide/topics/media/media-formats...中 , 有对 WebP 格式图片兼容情况的说明 , Android 4.0 以下不支持 WebP 图片格式 ; ( 不能使用 ) Android 4.0 以上支持 不带透明度 并且是 无损压缩...格式图片 ) 也就是说 , 只有 4.2.1 以上的系统 , 才完全支持 WebP 图片格式 ; 现在基本上开发时设置的最小兼容版本都是 4.3 , 可以完全兼容 WebP 格式图片 ; Google...提供了工具 , 可以兼容 Android 4.0 以上的系统 , 在所有版本中使用 WebP 图片 ; 二、Android 中的 WebP 图片格式性能 ---- 图片大小参数 : 在 Android
领取专属 10元无门槛券
手把手带您无忧上云