Skip to content

Commit 5287b8e

Browse files
cketchamafohrman
authored andcommitted
Add bridge themes for Dialog
PiperOrigin-RevId: 234216058
1 parent 441877f commit 5287b8e

File tree

3 files changed

+207
-90
lines changed

3 files changed

+207
-90
lines changed

lib/java/com/google/android/material/dialog/res/values/themes_base.xml

Lines changed: 6 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -16,55 +16,19 @@
1616
-->
1717
<resources xmlns:tools="http://schemas.android.com/tools">
1818

19-
<!--
20-
Theme in the "Platform.MaterialComponents" family are designed to be aliases for the default
21-
theme on a given platform version and should set up the default theme ready for adding our
22-
material component attributes.
23-
-->
24-
<eat-comment/>
25-
26-
<style name="Platform.MaterialComponents.Dialog" parent="Theme.AppCompat.Dialog"/>
27-
28-
<style name="Platform.MaterialComponents.Light.Dialog" parent="Theme.AppCompat.Light.Dialog"/>
29-
3019
<!-- All new attributes should be set in the follow four Base.V14 themes. -->
3120
<eat-comment/>
3221

33-
<style name="Base.V14.Theme.MaterialComponents.Dialog" parent="Platform.MaterialComponents.Dialog">
34-
<item name="isMaterialTheme">true</item>
22+
<style name="Base.V14.Theme.MaterialComponents.Dialog" parent="Base.V14.Theme.MaterialComponents.Dialog.Bridge">
3523
<item name="viewInflaterClass">com.google.android.material.theme.MaterialComponentsViewInflater</item>
3624

37-
<!-- Colors -->
3825
<item name="colorPrimary">@color/design_dark_default_color_primary</item>
39-
<item name="colorPrimaryVariant">@color/design_dark_default_color_primary_variant</item>
40-
26+
<item name="colorPrimaryDark">@color/design_dark_default_color_primary_dark</item>
4127
<item name="colorSecondary">@color/design_dark_default_color_secondary</item>
42-
<item name="colorSecondaryVariant">@color/design_dark_default_color_secondary_variant</item>
28+
<item name="colorAccent">?attr/colorSecondary</item>
4329

4430
<item name="android:colorBackground">@color/design_dark_default_color_background</item>
4531
<item name="colorError">@color/design_dark_default_color_error</item>
46-
<item name="colorSurface">@color/design_dark_default_color_surface</item>
47-
48-
<item name="colorOnPrimary">@color/design_dark_default_color_on_primary</item>
49-
<item name="colorOnSecondary">@color/design_dark_default_color_on_secondary</item>
50-
<item name="colorOnBackground">@color/design_dark_default_color_on_background</item>
51-
<item name="colorOnError">@color/design_dark_default_color_on_error</item>
52-
<item name="colorOnSurface">@color/design_dark_default_color_on_surface</item>
53-
54-
<item name="colorPrimaryDark">@color/design_dark_default_color_primary_dark</item>
55-
56-
<item name="colorAccent">?attr/colorSecondary</item>
57-
58-
<item name="scrimBackground">@color/mtrl_scrim_color</item>
59-
60-
<item name="colorOnPrimaryDisabled">@color/mtrl_dark_on_primary_disabled</item>
61-
<item name="colorOnPrimaryEmphasisHighType">@color/mtrl_dark_on_primary_emphasis_high_type
62-
</item>
63-
<item name="colorOnPrimaryEmphasisMedium">@color/mtrl_dark_on_primary_emphasis_medium</item>
64-
<item name="colorOnSurfaceDisabled">@color/mtrl_dark_on_surface_disabled</item>
65-
<item name="colorOnSurfaceEmphasisHighType">@color/mtrl_dark_on_surface_emphasis_high_type
66-
</item>
67-
<item name="colorOnSurfaceEmphasisMedium">@color/mtrl_dark_on_surface_emphasis_medium</item>
6832

6933
<item name="actionBarSize">@dimen/mtrl_toolbar_default_height</item>
7034
<item name="minTouchTargetSize">@dimen/mtrl_min_touch_target_size</item>
@@ -101,54 +65,19 @@
10165
<!-- Type styles -->
10266
<item name="textAppearanceLargePopupMenu">?attr/textAppearanceSubtitle1</item>
10367
<item name="textAppearanceSmallPopupMenu">?attr/textAppearanceSubtitle1</item>
104-
<item name="textAppearanceHeadline1">@style/TextAppearance.MaterialComponents.Headline1</item>
105-
<item name="textAppearanceHeadline2">@style/TextAppearance.MaterialComponents.Headline2</item>
106-
<item name="textAppearanceHeadline3">@style/TextAppearance.MaterialComponents.Headline3</item>
107-
<item name="textAppearanceHeadline4">@style/TextAppearance.MaterialComponents.Headline4</item>
108-
<item name="textAppearanceHeadline5">@style/TextAppearance.MaterialComponents.Headline5</item>
109-
<item name="textAppearanceHeadline6">@style/TextAppearance.MaterialComponents.Headline6</item>
110-
<item name="textAppearanceSubtitle1">@style/TextAppearance.MaterialComponents.Subtitle1</item>
111-
<item name="textAppearanceSubtitle2">@style/TextAppearance.MaterialComponents.Subtitle2</item>
112-
<item name="textAppearanceBody1">@style/TextAppearance.MaterialComponents.Body1</item>
113-
<item name="textAppearanceBody2">@style/TextAppearance.MaterialComponents.Body2</item>
114-
<item name="textAppearanceCaption">@style/TextAppearance.MaterialComponents.Caption</item>
115-
<item name="textAppearanceButton">@style/TextAppearance.MaterialComponents.Button</item>
116-
<item name="textAppearanceOverline">@style/TextAppearance.MaterialComponents.Overline</item>
11768
</style>
11869

119-
<style name="Base.V14.Theme.MaterialComponents.Light.Dialog" parent="Platform.MaterialComponents.Light.Dialog">
120-
<item name="isMaterialTheme">true</item>
70+
<style name="Base.V14.Theme.MaterialComponents.Light.Dialog" parent="Base.V14.Theme.MaterialComponents.Light.Dialog.Bridge">
12171
<item name="viewInflaterClass">com.google.android.material.theme.MaterialComponentsViewInflater</item>
12272

12373
<!-- Colors -->
12474
<item name="colorPrimary">@color/design_default_color_primary</item>
125-
<item name="colorPrimaryVariant">@color/design_default_color_primary_variant</item>
126-
75+
<item name="colorPrimaryDark">@color/design_default_color_primary_dark</item>
12776
<item name="colorSecondary">@color/design_default_color_secondary</item>
128-
<item name="colorSecondaryVariant">@color/design_default_color_secondary_variant</item>
77+
<item name="colorAccent">?attr/colorSecondary</item>
12978

13079
<item name="android:colorBackground">@color/design_default_color_background</item>
13180
<item name="colorError">@color/design_default_color_error</item>
132-
<item name="colorSurface">@color/design_default_color_surface</item>
133-
134-
<item name="colorOnPrimary">@color/design_default_color_on_primary</item>
135-
<item name="colorOnSecondary">@color/design_default_color_on_secondary</item>
136-
<item name="colorOnBackground">@color/design_default_color_on_background</item>
137-
<item name="colorOnError">@color/design_default_color_on_error</item>
138-
<item name="colorOnSurface">@color/design_default_color_on_surface</item>
139-
140-
<item name="colorPrimaryDark">@color/design_default_color_primary_dark</item>
141-
142-
<item name="colorAccent">?attr/colorSecondary</item>
143-
144-
<item name="scrimBackground">@color/mtrl_scrim_color</item>
145-
146-
<item name="colorOnPrimaryDisabled">@color/mtrl_on_primary_disabled</item>
147-
<item name="colorOnPrimaryEmphasisHighType">@color/mtrl_on_primary_emphasis_high_type</item>
148-
<item name="colorOnPrimaryEmphasisMedium">@color/mtrl_on_primary_emphasis_medium</item>
149-
<item name="colorOnSurfaceDisabled">@color/mtrl_on_surface_disabled</item>
150-
<item name="colorOnSurfaceEmphasisHighType">@color/mtrl_on_surface_emphasis_high_type</item>
151-
<item name="colorOnSurfaceEmphasisMedium">@color/mtrl_on_surface_emphasis_medium</item>
15281

15382
<item name="actionBarSize">@dimen/mtrl_toolbar_default_height</item>
15483
<item name="minTouchTargetSize">@dimen/mtrl_min_touch_target_size</item>
@@ -185,19 +114,6 @@
185114
<!-- Type styles -->
186115
<item name="textAppearanceLargePopupMenu">?attr/textAppearanceSubtitle1</item>
187116
<item name="textAppearanceSmallPopupMenu">?attr/textAppearanceSubtitle1</item>
188-
<item name="textAppearanceHeadline1">@style/TextAppearance.MaterialComponents.Headline1</item>
189-
<item name="textAppearanceHeadline2">@style/TextAppearance.MaterialComponents.Headline2</item>
190-
<item name="textAppearanceHeadline3">@style/TextAppearance.MaterialComponents.Headline3</item>
191-
<item name="textAppearanceHeadline4">@style/TextAppearance.MaterialComponents.Headline4</item>
192-
<item name="textAppearanceHeadline5">@style/TextAppearance.MaterialComponents.Headline5</item>
193-
<item name="textAppearanceHeadline6">@style/TextAppearance.MaterialComponents.Headline6</item>
194-
<item name="textAppearanceSubtitle1">@style/TextAppearance.MaterialComponents.Subtitle1</item>
195-
<item name="textAppearanceSubtitle2">@style/TextAppearance.MaterialComponents.Subtitle2</item>
196-
<item name="textAppearanceBody1">@style/TextAppearance.MaterialComponents.Body1</item>
197-
<item name="textAppearanceBody2">@style/TextAppearance.MaterialComponents.Body2</item>
198-
<item name="textAppearanceCaption">@style/TextAppearance.MaterialComponents.Caption</item>
199-
<item name="textAppearanceButton">@style/TextAppearance.MaterialComponents.Button</item>
200-
<item name="textAppearanceOverline">@style/TextAppearance.MaterialComponents.Overline</item>
201117
</style>
202118

203119
<style name="Base.V14.ThemeOverlay.MaterialComponents.Dialog" parent="ThemeOverlay.AppCompat.Dialog">
Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
~ Copyright (C) 2019 The Android Open Source Project
4+
~
5+
~ Licensed under the Apache License, Version 2.0 (the "License");
6+
~ you may not use this file except in compliance with the License.
7+
~ You may obtain a copy of the License at
8+
~
9+
~ http://www.apache.org/licenses/LICENSE-2.0
10+
~
11+
~ Unless required by applicable law or agreed to in writing, software
12+
~ distributed under the License is distributed on an "AS IS" BASIS,
13+
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
~ See the License for the specific language governing permissions and
15+
~ limitations under the License.
16+
-->
17+
<resources>
18+
19+
<!--
20+
Theme in the "Platform.MaterialComponents" family are designed to be aliases for the default
21+
theme on a given platform version and should set up the default theme ready for adding our
22+
material component attributes.
23+
-->
24+
<eat-comment/>
25+
26+
<style name="Platform.MaterialComponents.Dialog" parent="Theme.AppCompat.Dialog"/>
27+
28+
<style name="Platform.MaterialComponents.Light.Dialog" parent="Theme.AppCompat.Light.Dialog"/>
29+
30+
<!-- All new attributes should be set in the following four Base.V14 themes. -->
31+
<eat-comment/>
32+
33+
<style name="Base.V14.Theme.MaterialComponents.Dialog.Bridge" parent="Platform.MaterialComponents.Dialog">
34+
<item name="isMaterialTheme">true</item>
35+
36+
<item name="colorPrimaryVariant">@color/design_dark_default_color_primary_variant</item>
37+
<item name="colorSecondaryVariant">@color/design_dark_default_color_secondary_variant</item>
38+
<item name="colorSurface">@color/design_dark_default_color_surface</item>
39+
<item name="colorOnPrimary">@color/design_dark_default_color_on_primary</item>
40+
<item name="colorOnSecondary">@color/design_dark_default_color_on_secondary</item>
41+
<item name="colorOnBackground">@color/design_dark_default_color_on_background</item>
42+
<item name="colorOnError">@color/design_dark_default_color_on_error</item>
43+
<item name="colorOnSurface">@color/design_dark_default_color_on_surface</item>
44+
45+
<item name="scrimBackground">@color/mtrl_scrim_color</item>
46+
47+
<item name="colorOnPrimaryDisabled">@color/mtrl_dark_on_primary_disabled</item>
48+
<item name="colorOnPrimaryEmphasisHighType">@color/mtrl_dark_on_primary_emphasis_high_type
49+
</item>
50+
<item name="colorOnPrimaryEmphasisMedium">@color/mtrl_dark_on_primary_emphasis_medium</item>
51+
<item name="colorOnSurfaceDisabled">@color/mtrl_dark_on_surface_disabled</item>
52+
<item name="colorOnSurfaceEmphasisHighType">@color/mtrl_dark_on_surface_emphasis_high_type
53+
</item>
54+
<item name="colorOnSurfaceEmphasisMedium">@color/mtrl_dark_on_surface_emphasis_medium</item>
55+
56+
<!-- Type styles -->
57+
<item name="textAppearanceHeadline1">@style/TextAppearance.MaterialComponents.Headline1</item>
58+
<item name="textAppearanceHeadline2">@style/TextAppearance.MaterialComponents.Headline2</item>
59+
<item name="textAppearanceHeadline3">@style/TextAppearance.MaterialComponents.Headline3</item>
60+
<item name="textAppearanceHeadline4">@style/TextAppearance.MaterialComponents.Headline4</item>
61+
<item name="textAppearanceHeadline5">@style/TextAppearance.MaterialComponents.Headline5</item>
62+
<item name="textAppearanceHeadline6">@style/TextAppearance.MaterialComponents.Headline6</item>
63+
<item name="textAppearanceSubtitle1">@style/TextAppearance.MaterialComponents.Subtitle1</item>
64+
<item name="textAppearanceSubtitle2">@style/TextAppearance.MaterialComponents.Subtitle2</item>
65+
<item name="textAppearanceBody1">@style/TextAppearance.MaterialComponents.Body1</item>
66+
<item name="textAppearanceBody2">@style/TextAppearance.MaterialComponents.Body2</item>
67+
<item name="textAppearanceCaption">@style/TextAppearance.MaterialComponents.Caption</item>
68+
<item name="textAppearanceButton">@style/TextAppearance.MaterialComponents.Button</item>
69+
<item name="textAppearanceOverline">@style/TextAppearance.MaterialComponents.Overline</item>
70+
71+
<!-- Shape styles -->
72+
<item name="shapeAppearanceSmallComponent">
73+
@style/ShapeAppearance.MaterialComponents.SmallComponent
74+
</item>
75+
<item name="shapeAppearanceMediumComponent">
76+
@style/ShapeAppearance.MaterialComponents.MediumComponent
77+
</item>
78+
<item name="shapeAppearanceLargeComponent">
79+
@style/ShapeAppearance.MaterialComponents.LargeComponent
80+
</item>
81+
</style>
82+
83+
<style name="Base.V14.Theme.MaterialComponents.Light.Dialog.Bridge" parent="Platform.MaterialComponents.Light.Dialog">
84+
<item name="isMaterialTheme">true</item>
85+
86+
<item name="colorPrimaryVariant">@color/design_default_color_primary_variant</item>
87+
<item name="colorSecondaryVariant">@color/design_default_color_secondary_variant</item>
88+
<item name="colorSurface">@color/design_default_color_surface</item>
89+
<item name="colorOnPrimary">@color/design_default_color_on_primary</item>
90+
<item name="colorOnSecondary">@color/design_default_color_on_secondary</item>
91+
<item name="colorOnBackground">@color/design_default_color_on_background</item>
92+
<item name="colorOnError">@color/design_default_color_on_error</item>
93+
<item name="colorOnSurface">@color/design_default_color_on_surface</item>
94+
95+
<item name="scrimBackground">@color/mtrl_scrim_color</item>
96+
97+
<item name="colorOnPrimaryDisabled">@color/mtrl_on_primary_disabled</item>
98+
<item name="colorOnPrimaryEmphasisHighType">@color/mtrl_on_primary_emphasis_high_type</item>
99+
<item name="colorOnPrimaryEmphasisMedium">@color/mtrl_on_primary_emphasis_medium</item>
100+
<item name="colorOnSurfaceDisabled">@color/mtrl_on_surface_disabled</item>
101+
<item name="colorOnSurfaceEmphasisHighType">@color/mtrl_on_surface_emphasis_high_type</item>
102+
<item name="colorOnSurfaceEmphasisMedium">@color/mtrl_on_surface_emphasis_medium</item>
103+
104+
<!-- Type styles -->
105+
<item name="textAppearanceHeadline1">@style/TextAppearance.MaterialComponents.Headline1</item>
106+
<item name="textAppearanceHeadline2">@style/TextAppearance.MaterialComponents.Headline2</item>
107+
<item name="textAppearanceHeadline3">@style/TextAppearance.MaterialComponents.Headline3</item>
108+
<item name="textAppearanceHeadline4">@style/TextAppearance.MaterialComponents.Headline4</item>
109+
<item name="textAppearanceHeadline5">@style/TextAppearance.MaterialComponents.Headline5</item>
110+
<item name="textAppearanceHeadline6">@style/TextAppearance.MaterialComponents.Headline6</item>
111+
<item name="textAppearanceSubtitle1">@style/TextAppearance.MaterialComponents.Subtitle1</item>
112+
<item name="textAppearanceSubtitle2">@style/TextAppearance.MaterialComponents.Subtitle2</item>
113+
<item name="textAppearanceBody1">@style/TextAppearance.MaterialComponents.Body1</item>
114+
<item name="textAppearanceBody2">@style/TextAppearance.MaterialComponents.Body2</item>
115+
<item name="textAppearanceCaption">@style/TextAppearance.MaterialComponents.Caption</item>
116+
<item name="textAppearanceButton">@style/TextAppearance.MaterialComponents.Button</item>
117+
<item name="textAppearanceOverline">@style/TextAppearance.MaterialComponents.Overline</item>
118+
119+
<!-- Shape styles -->
120+
<item name="shapeAppearanceSmallComponent">
121+
@style/ShapeAppearance.MaterialComponents.SmallComponent
122+
</item>
123+
<item name="shapeAppearanceMediumComponent">
124+
@style/ShapeAppearance.MaterialComponents.MediumComponent
125+
</item>
126+
<item name="shapeAppearanceLargeComponent">
127+
@style/ShapeAppearance.MaterialComponents.LargeComponent
128+
</item>
129+
</style>
130+
131+
<!-- Themes in the "Base.Theme" family vary based on the current platform
132+
version to provide the correct basis on each device. You probably don't
133+
want to use them directly in your apps.
134+
135+
Themes in the "Theme.MaterialComponents" family are meant to be extended or used
136+
directly by apps. -->
137+
<eat-comment/>
138+
139+
<style name="Base.Theme.MaterialComponents.Dialog.Bridge" parent="Base.V14.Theme.MaterialComponents.Dialog.Bridge"/>
140+
141+
<style name="Base.Theme.MaterialComponents.Light.Dialog.Bridge" parent="Base.V14.Theme.MaterialComponents.Light.Dialog.Bridge"/>
142+
143+
</resources>
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
~ Copyright (C) 2019 The Android Open Source Project
4+
~
5+
~ Licensed under the Apache License, Version 2.0 (the "License");
6+
~ you may not use this file except in compliance with the License.
7+
~ You may obtain a copy of the License at
8+
~
9+
~ http://www.apache.org/licenses/LICENSE-2.0
10+
~
11+
~ Unless required by applicable law or agreed to in writing, software
12+
~ distributed under the License is distributed on an "AS IS" BASIS,
13+
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
~ See the License for the specific language governing permissions and
15+
~ limitations under the License.
16+
-->
17+
<resources>
18+
19+
<!-- Bridge themes containing only new attributes defined in MaterialComponents themes. -->
20+
<style name="Theme.MaterialComponents.Dialog.Bridge" parent="Base.Theme.MaterialComponents.Dialog.Bridge"/>
21+
22+
<style name="Theme.MaterialComponents.Light.Dialog.Bridge" parent="Base.Theme.MaterialComponents.Light.Dialog.Bridge"/>
23+
24+
<style name="Theme.MaterialComponents.Dialog.Alert.Bridge" parent="Base.Theme.MaterialComponents.Dialog.Bridge">
25+
<item name="windowMinWidthMajor">@dimen/abc_dialog_min_width_major</item>
26+
<item name="windowMinWidthMinor">@dimen/abc_dialog_min_width_minor</item>
27+
</style>
28+
29+
<style name="Base.Theme.MaterialComponents.Light.Dialog.Alert.Bridge" parent="Base.Theme.MaterialComponents.Light.Dialog.Bridge">
30+
<item name="windowMinWidthMajor">@dimen/abc_dialog_min_width_major</item>
31+
<item name="windowMinWidthMinor">@dimen/abc_dialog_min_width_minor</item>
32+
</style>
33+
34+
<style name="Base.Theme.MaterialComponents.Dialog.MinWidth.Brige" parent="Base.Theme.MaterialComponents.Dialog.Bridge">
35+
<item name="windowMinWidthMajor">@dimen/abc_dialog_min_width_major</item>
36+
<item name="windowMinWidthMinor">@dimen/abc_dialog_min_width_minor</item>
37+
</style>
38+
39+
<style name="Base.Theme.MaterialComponents.Light.Dialog.MinWidth.Bridge" parent="Base.Theme.MaterialComponents.Light.Dialog.Bridge">
40+
<item name="windowMinWidthMajor">@dimen/abc_dialog_min_width_major</item>
41+
<item name="windowMinWidthMinor">@dimen/abc_dialog_min_width_minor</item>
42+
</style>
43+
44+
<style name="Base.Theme.MaterialComponents.Dialog.FixedSize.Bridge" parent="Base.Theme.MaterialComponents.Dialog.Bridge">
45+
<item name="windowFixedWidthMajor">@dimen/abc_dialog_fixed_width_major</item>
46+
<item name="windowFixedWidthMinor">@dimen/abc_dialog_fixed_width_minor</item>
47+
<item name="windowFixedHeightMajor">@dimen/abc_dialog_fixed_height_major</item>
48+
<item name="windowFixedHeightMinor">@dimen/abc_dialog_fixed_height_minor</item>
49+
</style>
50+
51+
<style name="Base.Theme.MaterialComponents.Light.Dialog.FixedSize.Bridge" parent="Base.Theme.MaterialComponents.Light.Dialog.Bridge">
52+
<item name="windowFixedWidthMajor">@dimen/abc_dialog_fixed_width_major</item>
53+
<item name="windowFixedWidthMinor">@dimen/abc_dialog_fixed_width_minor</item>
54+
<item name="windowFixedHeightMajor">@dimen/abc_dialog_fixed_height_major</item>
55+
<item name="windowFixedHeightMinor">@dimen/abc_dialog_fixed_height_minor</item>
56+
</style>
57+
58+
</resources>

0 commit comments

Comments
 (0)