Skip to content

Instantly share code, notes, and snippets.

View ricknout's full-sized avatar

Nick Rout ricknout

View GitHub Profile
@ricknout
ricknout / mdc_theme_overlay.xml
Created July 30, 2020 15:50
MDC-Android theme overlay
<!-- Copyright 2020 Google LLC.
SPDX-License-Identifier: Apache-2.0 -->
<!-- In res/values/themes.xml -->
<style name="ThemeOverlay.App.PrimarySecondary" parent="">
<item name="colorPrimary">?attr/colorSecondary</item>
<item name="colorOnPrimary">?attr/colorOnSecondary</item>
</style>
@ricknout
ricknout / mdc_colors_per_state.xml
Last active August 25, 2020 18:03
MDC-Android colors per state
<!-- Copyright 2020 Google LLC.
SPDX-License-Identifier: Apache-2.0 -->
<!-- In button/res/color/mtrl_btn_bg_color_selector.xml -->
<selector ...>
<item android:color="?attr/colorPrimary" android:state_enabled="true" />
<item android:alpha="0.12" android:color="?attr/colorOnSurface" />
</selector>
@ricknout
ricknout / mdc_color_with_alpha.xml
Created July 30, 2020 14:49
MDC-Android color with alpha
<!-- Copyright 2020 Google LLC.
SPDX-License-Identifier: Apache-2.0 -->
<!-- In res/color/primary_60.xml -->
<selector ...>
<item android:alpha="0.6" android:color="?attr/colorPrimary" />
</selector>
@ricknout
ricknout / mdc_prefer_color_attrs.xml.diff
Created July 30, 2020 13:48
MDC-Android prefer color attributes
<!-- Copyright 2020 Google LLC.
SPDX-License-Identifier: Apache-2.0 -->
<Button
...
- app:backgroundTint="@color/green_300"
+ app:backgroundTint="?attr/colorPrimary"
- android:textColor="@color/black"
+ android:textColor="?attr/colorOnPrimary"
/>
@ricknout
ricknout / mdc_color_theme_attrs.xml
Created July 30, 2020 13:39
MDC-Android color theme attributes
<!-- Copyright 2020 Google LLC.
SPDX-License-Identifier: Apache-2.0 -->
<!-- In res/values/themes.xml -->
<style name="Theme.App" parent="Theme.App.Base">
...
<item name="colorPrimary">@color/navy_700</item>
<item name="colorPrimaryVariant">@color/navy_900</item>
<item name="colorSecondary">@color/green_300</item>
<item name="colorSecondaryVariant">@color/green_900</item>
@ricknout
ricknout / mdc_color_resources.xml
Last active August 25, 2020 18:02
MDC-Android color resources
<!-- Copyright 2020 Google LLC.
SPDX-License-Identifier: Apache-2.0 -->
<!-- In res/values/colors.xml -->
<color name="navy_500">#64869B</color>
<color name="navy_700">#37596D</color>
<color name="navy_900">#073042</color>
<color name="green_300">#3DDC84</color>
<color name="green_500">#00A956</color>
@ricknout
ricknout / mdc_custom_color_attr.xml
Created July 30, 2020 13:19
MDC-Android custom color attribute
<!-- Copyright 2020 Google LLC.
SPDX-License-Identifier: Apache-2.0 -->
<!-- In res/values/attrs.xml -->
<attr name="colorCustom" format="color" />
<!-- In res/values/themes.xml -->
<style name="Theme.App" parent="Theme.MaterialComponents.*">
...
<item name="colorCustom">@color/...</item>
@ricknout
ricknout / mdc_color_attrs_sources.md
Created July 30, 2020 12:37
MDC-Android color attribute sources
Color attribute Source
colorPrimary AppCompat
colorPrimaryVariant MDC
colorOnPrimary MDC
colorSecondary MDC
colorSecondaryVariant MDC
colorOnSecondary MDC
@ricknout
ricknout / color_resource_on_color_attr_update.xml.diff
Created April 15, 2020 10:03
Color resource to "on" color attribute update
<!-- Copyright 2020 Google LLC.
SPDX-License-Identifier: Apache-2.0 -->
<Button
- android:textColor="@android:color/white"
+ android:textColor="?attr/colorOnPrimary"
... />
@ricknout
ricknout / mdc_button_custom_gradient_background_1.2.0-alpha06.xml.diff
Last active January 19, 2023 09:26
MDC-Android button custom gradient background in 1.2.0-alpha06+
<!-- Copyright 2020 Google LLC.
SPDX-License-Identifier: Apache-2.0 -->
<Button
android:background="@drawable/bg_button_gradient"
+ app:backgroundTint="@null"
... />