我正在将我的应用程序设计基础更改为Material Design Components,并希望实现类似于这样的效果:
这是来自切换按钮的内容,它显示了可部分着色的drawable,但没有实现示例。在我的应用中,我有一个文本格式工具栏,其中包括前景颜色,我需要以完全相同的方式显示所选文本的颜色。
然后简单地使用 <layer-list>
(LayerDrawable
) 将两个可绘制对象合并成一个。
ic_format_color_text.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_format_color_text_black_part1_24dp" />
<item android:drawable="@drawable/ic_format_color_text_black_part2_24dp" />
</layer-list>
MaterialButtonToggleGroup
+ MaterialButton
)。仅对“底部形状”部分进行色彩处理:val dr = (colorTextBtn.icon as? LayerDrawable)?.getDrawable(0 /* colored shape layer index*/)
dr?.let { DrawableCompat.setTint(dr, /* color */) }