在实际开发中,您通常希望根据主题背景改变颜色,因此您应该始终通过主题背景属性来引用颜色。 这意味着您可以将如下代码视为有代码异味 (Code smell): 的 Colors 文件 您可以通过在不同的配置中添加不同的值来改变颜色 (例如,在 res/values/colors.xml 中和在 res/values-night/colors.xml 中的备选值里均定义...将颜色声明保持为字面值,您就可以自定义应用使用的颜色调色板,并在主题背景级别修改它们,这会让 color.xml 较小且易维护。 这种方法的额外好处是,布局/样式引用这些颜色时复用性变得更高。...它并没有定义一个新的颜色资源的方式来手动为您 (每一个配置文件) 的 primary 颜色设置 alpha 值,而是通过改变当前主题背景中的 colorPrimary 的方式。...仅在 API 23 中添加了 alpha 组件,因此,如果您的最小 sdk 低于这个版本,请确保使用支持此行为的 AppCompatResources.getColorStateList (并始终使用
我们可以通过xml中的属性android:backgroundTint和android:backgroundTintMode来设置,android:backgroundTintMode这个属性传的值就是刚刚上面那些...PorterDuff.Mode中的值,效果的话上面的图也展示了。...如果设置了android:backgroundTint,那么就会将设置的颜色和原来的背景进行一个叠加的过程,至于如何叠加,就是上面的mode。...使用tint可以保留原来的阴影波纹等效果。...但是如果控件状态转换的时候,颜色不换,则可以采用 b .getBackground().setColorFilter(tint, Mode.DARKEN); 因为这个API在21版本上才有,对于低版本调用的话
下面我们将xml中的TextView改成com.google.android.material.textview.MaterialTextView,你会发现也不会报错,而我们查看MaterialTextView...现在你在java代码和xml中就都可以正常使用了。我们在使用系统的View的时候通常会在xml中设置一些参数样式,那么自定义里面怎么设置样式呢?...每一个框的大小、背景颜色、边框颜色、边框大小、文字大小、文字颜色、分隔符,一般来说默认是英文分号( : ),不过也有使用小横杠的( - ),那么怎么去设置样式呢?...,然后进行赋值,注意一点就是数值类型的需要默认值,有一些默认颜色值,就是我刚才写到colors.xml中的String类型不需要。...View 现在自定义View写好了,可以使用了,修改activity_main.xml中的代码,如下所示: <?
SVG(Scalable Vector Graphics)可缩放矢量图 使用矢量图代替位图可以减小 APK 的尺寸,因为可以针对不同屏幕密度调整同一文件的大小,而不会降低图像质量。...SVG是由XML定义的,标准SVG根节点是在Android中通过Vector实现支持,根节点是 ? ? ?...Tint着色器 yifeng.studio/2017/03/30/… 自 API 21 (Android L)开始,Android SDK 引入 tint 着色器,可以随意改变安卓项目中图标或者 View...背景的颜色,一定程度上可以减少同一个样式不同颜色图标的数量,从而起到 Apk 瘦身的作用。...tint 或 backgroundTint 属性,与 src 或 background 属性一定是对应成对出现的。 ? ? <!
为枚举类,一共有16个枚举值: 1.PorterDuff.Mode.CLEAR 所绘制不会提交到画布上。...我们可以通过xml中的属性android:backgroundTint和android:backgroundTintMode来设置,android:backgroundTintMode这个属性传的值就是刚刚上面那些...PorterDuff.Mode中的值,效果的话上面的图也展示了。...android:backgroundTint的话就是传color的值。 那么android:background和android:backgroundTint有什么区别呢?...如果设置了android:backgroundTint,那么就会将设置的颜色和原来的背景进行一个叠加的过程,至于如何叠加,就是上面的mode。
一、介绍 这个类是继承自ImageView的,所以对于这个控件我们可以使用ImageView的所有属性 android.support.design.widget.FloatingActionButton...二、使用准备, 在as 的 build.grade文件中写上 compile 'com.android.support:design:22.2.0' 三、使用说明 xml文件中,注意蓝色字体部分 backgroundTint=""---------------按钮的背景颜色,不设置,默认使用theme中colorAccent的颜色 3、app:rippleColor=""-----...---------------点击的边缘阴影颜色 4、app:elevation=""----------------------边缘阴影的宽度 5、app:pressedTranslationZ="16dp..."-----点击按钮时,按钮边缘阴影的宽度,通常设置比elevation的数值大 另外我们希望点击按钮一个颜色,正常状态一个颜色 以提高用户体验,那么就是drawable文件夹中创建文件 floatbutton.xml
##布局文件 在源码中学习Android,是有种身临其境的感觉的。 学习Android解释再多代码都没有用,因为解释过了还是不会用。...-- 用来放Drawerlayout中的内容, 这里使用NavigationView来实现类似Google pLay中的侧滑栏效果, 必须在build.gradle中添加compile...-- 注意: 如果使用NavigationView(其他控件也是一样)的特有属性,需要加上命名空间: xmlns:app="http://schemas.android.com...中,menu item的颜色选择器。...enterAlwaysCollapsed: 当你的视图已经设置minHeight属性又使用此标志时,你的视图只能以最小高度进入,只有当滚动视图到达顶部时才扩大到完整高度。
前言 悬浮按钮是我非常喜欢的, 可以把最关键的功能放入到悬浮按钮中. 比如日记app里的新建日记, 阅读类app里的喜欢. 稍微处理一下可以将悬浮按钮扩展成悬浮菜单, 来看下实现吧!...搭配Snackbar 官方推荐配合Snackbar来使用, 这都不多说了. ? 配合Snackbar 显示和隐藏 然后还有就是悬浮按钮的隐藏和显示函数....隐藏和显示 颜色 可以设置点击颜色app:rippleColor, 以及背景颜色app:backgroundTint. 我将背景色改成蓝色, 点击水波纹扩散变为紫色, 效果图如下: ?...一个是扇型的, 一个是线型的. xml version="1.0" encoding="utf-8"?...在xml中加入app:fabSize="mini"就变成mini尺寸的了. 所以在设置动画和位置的时候不是将按钮全部放置在同一位置, 需要修正位置.
accent colour 填充按钮的背景颜色, 同时使用白色作为按钮的文字颜色....app:rippleColor: 使用此颜色定义按钮的水波纹效果的颜色 app:backgroundTint: 用于给按钮的背景着色.如果你想要改变按钮的背景颜色, 使用这个属性而不是 background...如果的确如此, 你可以使用如下的 ChipGroup 本身的属性为子 Chip 视图添加一些间距: app:chipSpacing: 在横纵轴方向均添加间距 app:chipSpacingHorizontal...app:backgroundTint: 用于为视图的背景上色. 如果你想要设置视图的背景颜色, 那么应该用 android:background 属性. 这样会确保视图样式的稳定性....结论 在我看来, 这些是对 Support Library 的一些简洁补充 -- 我期待着能够立即使用材质主题组件.
圆角和着色以及宽高都奏效 我是应用主题后的MaterialButton 此时出现的几个坑 你会发现你设置的宽高属性并没有应用到MaterialButton控件上,就连你为他backgroundTint...着的颜色都不对,那么原因究竟为何呢?...这是由于系统自身为MaterialButton控件设置了默认的属性,所以你的操作其实并不会生效 那么我们就要覆写这些属性,让MaterialButton控件由我们管控 在res→values→styles.xml...最后一步 在res→values→styles.xml中AppTheme的parent要改为Theme.MaterialComponents.Light.NoActionBar 此时你的MaterialButton...看网上有说使用implementation 'com.google.android.material:material:1.0.0-beta01'这个版本的依赖可以,But需要注意,如果你考虑使用TabLayout
② XML样式 在设置样式之前需要先知道我们的自定义View要做什么,这是一个简易输入框,可以用来做验证码输入或者密码输入,输入框4~6个,主要就是数字输入,在attrs.xml文件中,里面我们可以写自定义的样式...,将边框保存起来,再根据当前绘制位置和是否获取焦点设置画笔颜色,这样就可以实现当前输入框的颜色变化,比如我没有输入的时候是黑色边框,当我输入第一个值的时候,第一个输入框的边框颜色变成绿色,输入完第一个,...中的操作差不多,我就不重复说了,下面我们来看输入。...View 关于使用,我在些这个文章的时候这个自定义View已经加入到仓库中了,可以通过引入依赖的方式,例如在app模块中使用,则打开app模块下的build.gradle,在dependencies...可以使用了,修改activity_easy_edittext.xml中的代码,如下所示: xml version="1.0" encoding="utf-8"?
添加依赖 在你的app下的build.gradle中的dependencies闭包中增加如下依赖,然后Sync同步一下,你就可以名正言顺的使用里面的组件了。...现在是默认的颜色,你肯定会使用其他的颜色,然后要设置背景,注意,这里不再使用background来设置,而是通过backgroundTint来设置 app:backgroundTint="@color/...那么你可能会问这两种格式有什么区别,区别就在于,.png没有代码,.xml是有代码的,它通过path路径来画图标,你不了解就不会看的很明白。...下面就使用图标按钮,在material_button.xml中增加按钮,如下图所示 ? 运行一下: ? 现在你可以看到图标出现在文字的的左边。那么如果要让它在右边呢?...现在我们都知道这个图标是.png的白色图标,如果我现在要改变这个图标的颜色,现在我既不想重新弄一个图标,又不想通过代码来改变这个颜色。
四、显示地图 下面改变一下activity_main.xml xml version="1.0" encoding="utf-8"?...按照下图进行改变,你可以将无用的代码删除掉。...[6kkk1h0rbl.png] 不出意外,你的页面会和我这个一毛一样,默认就是定位在北京。百度和腾讯也都是如此。...myLocationStyle.strokeWidth(0); // 设置圆形的填充颜色 都为0则透明 myLocationStyle.radiusFillColor...[xw26e6e4b7.png] 然后添加一个queryPOI()方法,这个方法对应了xml中浮动按钮的onClick的值。
下面我们通过一些常见的迁移方案来了解一下这些问题 文字栏位改变 在 MDC 中,文字字段默认样式发生了改变。改进版本是经过用户调查研究的。 ? 我们建议您使用这个版本,来提高可用性和可配置项性。...下面这几种情况应该考虑 在布局中写的控件如果有对应的 MDC 控件的话,直接使用 MDC 控件 任何的风格,默认风格和默认风格属性应该改变成 MDC 版本 在编程中或者自定义类的父级类使用的任何控件都应该为...MDC窗口小部件使用这些属性来为其背景,文本,图标等着色。要了解哪些小部件使用哪种颜色,需要检查源代码中的默认小部件样式。 AppCompat和框架中还存在一些颜色,但不再适用于此新系统。...如果你想要改变字体的话,建议也把剩余的 12 修改了,以保持APP中字体的一致性。...需要注意的是要清空 backgroundTint,因为在默认的 style 中,backgroundTint 为 colorPrimary <!
fab的属性.png 颜色 android:backgroundTint="@color/jietelan" 图片 android:src="@drawable/icon_t" 厚度...="normal" 位置 android:layout_gravity="bottom|end" 点击深度 app:pressedTranslationZ="@dimen/dp_16" 点击颜色...xml version="1.0" encoding="utf-8"?...app:rippleColor="@color/yase"/> ---- 3.改变...xml version="1.0" encoding="utf-8"?
这个系列都是主讲的Material Design风格的控件,所以都是控件的一些基本使用,也会扩展讲一些与这个控件相关的东西和效果,如果都会了的同学,可以不看这个系列。...默认正常显示时的背景颜色 app:elevation :FloatingActionButton阴影的深度,默认时的阴影 app:rippleColor:FloatingActionButton点击时的背景颜色...它的使用方式也是非常的简单,跟Toast差不多,代码如下: final Snackbar snackbar = Snackbar.make(view, "关注非著名程序员公众号了吗?"...添加icon和改变Snackbar的位置 修改了背景色,文字按钮颜色,是不是还不过瘾?看看我们如何在Snackbar上添加上一个icon图片。其实也非常简单,和修改样式的过程差不多。...Snackbar的位置 其实改变Snackbar的位置和设置icon的位置布局大同小异,代码如下: // 获取 snackbar 视图 View snackbarView = snackbar.getView
audio_hw_generic: Not supplying enough data to HAL, expected position 5856667 , only wrote 5856480 11-07 19:21...xml version="1.0" encoding="utf-8"?...wrap_content" android:layout_gravity="bottom|end" android:layout_margin="16dp" android:backgroundTint...我想了一下,额,会不会我的View没有设置颜色啊。。好的试了一下,果然是,可以说是很鬼畜了。。...layout.xml里边的View控件改成下面这样子,再次运行程序就成了(发现2040还是会报错,但是动画算是完美跑出来了,所以小伙伴们这里记得设置android:background以及android
请原谅我的配色 其实FloatingActionButton的用法很简单,主要是在布局文件中定义就可以了,这里先将一下各个属性的含义: 大家可以试一下,能更好的理解相应的内容的!...android:src 设置相应图片 app:backgroundTint 设置背景颜色 app:borderWidth 设置边界的宽度。...xml version="1.0" encoding="utf-8"?...之前的版本中使用,如果在之后的版本中使用的话,一般隐藏了之后就不会出现了!!!)...xml version="1.0" encoding="utf-8"?
(onBindViewHolder() 方法中的位置参数 position 不是实时更新的,例如在我们删除元素后,item 的 position 并没有改变。)...V7包的控件,一般也是跟Toolbar中的菜单结合使用。...其中尤其注意的是stateListAnimator这个属性,如果最小SDK版本低于21,AS就会警告。...主要使用ActivityOptions类。只支持API21以上的版本。...只有API 21才有下面自带效果,因此使用的时候需要判断版本号。
)才添加的属性 android:tileModeY 设置垂直方向的平铺方式,这是API Level 21(Android 5.0)才添加的属性 android:tintMode 着色模式,也是API Level...color 属性 只有一个android:color属性,因为可以直接在color.xml设置颜色,所以这个用处不多。...这时候图片不会被裁剪,除非level设为了0,此时图片不可见 center_vertical:图片放于容器垂直方向的中心位置,不改变图片大小。...level值 android:maxLevel 该item的最大level值 通过level-list我们就可以不用在使用if-else来动态改变图片或者背景了,直接改变level就可以了。...animated-vector svg矢量动画,需要配合动画xml(anim、animator)使用。
领取专属 10元无门槛券
手把手带您无忧上云