attrs.xml revision 2aa57abd4531068424642e1a5dfff47c17b84c2e
1<?xml version="1.0" encoding="utf-8"?>
2<!--
3  ~ Copyright (C) 2015 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    <declare-styleable name="FloatingActionButton">
20        <!-- Background for the FloatingActionButton -->
21        <attr name="android:background"/>
22        <attr name="backgroundTint"/>
23        <attr name="backgroundTintMode"/>
24
25        <!-- Ripple color for the FAB. -->
26        <attr name="rippleColor" format="color"/>
27        <!-- Size for the FAB. -->
28        <attr name="fabSize">
29            <enum name="normal" value="0"/>
30            <enum name="mini" value="1"/>
31        </attr>
32        <!-- Elevation value for the FAB -->
33        <attr name="elevation"/>
34        <!-- TranslationZ value for the FAB when pressed-->
35        <attr name="pressedTranslationZ" format="dimension"/>
36        <!-- The width of the border around the FAB. -->
37        <attr name="borderWidth" format="dimension"/>
38    </declare-styleable>
39
40    <declare-styleable name="ScrimInsetsFrameLayout">
41        <attr name="insetForeground" format="color|reference"/>
42    </declare-styleable>
43
44    <declare-styleable name="NavigationView">
45        <attr name="android:background"/>
46        <attr name="android:fitsSystemWindows"/>
47        <attr name="android:maxWidth"/>
48        <attr name="elevation"/>
49        <!-- The menu resource to inflate and populate items from. -->
50        <attr name="menu" format="reference"/>
51        <attr name="itemIconTint" format="color"/>
52        <attr name="itemTextColor" format="color"/>
53        <attr name="itemBackground" format="reference"/>
54        <attr name="itemTextAppearance" format="reference"/>
55        <!-- Layout resource to inflate as the header -->
56        <attr name="headerLayout" format="reference"/>
57    </declare-styleable>
58
59    <declare-styleable name="TabLayout">
60        <attr name="tabIndicatorColor" format="color"/>
61        <attr name="tabIndicatorHeight" format="dimension"/>
62        <attr name="tabContentStart" format="dimension"/>
63
64        <attr name="tabBackground" format="reference"/>
65
66        <attr name="tabMode">
67            <enum name="scrollable" value="0"/>
68            <enum name="fixed" value="1"/>
69        </attr>
70
71        <!-- Standard gravity constant that a child supplies to its parent.
72             Defines how the child view should be positioned, on both the X and Y axes,
73             within its enclosing layout. -->
74        <attr name="tabGravity">
75            <enum name="fill" value="0"/>
76            <enum name="center" value="1"/>
77        </attr>
78
79        <attr name="tabMinWidth" format="dimension"/>
80        <attr name="tabMaxWidth" format="dimension"/>
81
82        <attr name="tabTextAppearance" format="reference"/>
83        <attr name="tabTextColor" format="color"/>
84        <attr name="tabSelectedTextColor" format="color"/>
85
86        <attr name="tabPaddingStart" format="dimension"/>
87        <attr name="tabPaddingTop" format="dimension"/>
88        <attr name="tabPaddingEnd" format="dimension"/>
89        <attr name="tabPaddingBottom" format="dimension"/>
90        <attr name="tabPadding" format="dimension"/>
91    </declare-styleable>
92
93    <declare-styleable name="CoordinatorLayout">
94        <!-- A reference to an array of integers representing the
95             locations of horizontal keylines in dp from the starting edge.
96             Child views can refer to these keylines for alignment using
97             layout_keyline="index" where index is a 0-based index into
98             this array. -->
99        <attr name="keylines" format="reference"/>
100        <!-- Drawable to display behind the status bar when the view is set to draw behind it. -->
101        <attr name="statusBarBackground" format="reference"/>
102    </declare-styleable>
103
104    <declare-styleable name="CoordinatorLayout_LayoutParams">
105        <attr name="android:layout_gravity"/>
106        <!-- The class name of a Behavior class defining special runtime behavior
107             for this child view. -->
108        <attr name="layout_behavior" format="string"/>
109        <!-- The id of an anchor view that this view should position relative to. -->
110        <attr name="layout_anchor" format="reference"/>
111        <!-- The index of a keyline this view should position relative to.
112             android:layout_gravity will affect how the view aligns to the
113             specified keyline. -->
114        <attr name="layout_keyline" format="integer"/>
115
116        <!-- Specifies how an object should position relative to an anchor, on both the X and Y axes,
117             within its parent's bounds.  -->
118        <attr name="layout_anchorGravity">
119            <!-- Push object to the top of its container, not changing its size. -->
120            <flag name="top" value="0x30"/>
121            <!-- Push object to the bottom of its container, not changing its size. -->
122            <flag name="bottom" value="0x50"/>
123            <!-- Push object to the left of its container, not changing its size. -->
124            <flag name="left" value="0x03"/>
125            <!-- Push object to the right of its container, not changing its size. -->
126            <flag name="right" value="0x05"/>
127            <!-- Place object in the vertical center of its container, not changing its size. -->
128            <flag name="center_vertical" value="0x10"/>
129            <!-- Grow the vertical size of the object if needed so it completely fills its container. -->
130            <flag name="fill_vertical" value="0x70"/>
131            <!-- Place object in the horizontal center of its container, not changing its size. -->
132            <flag name="center_horizontal" value="0x01"/>
133            <!-- Grow the horizontal size of the object if needed so it completely fills its container. -->
134            <flag name="fill_horizontal" value="0x07"/>
135            <!-- Place the object in the center of its container in both the vertical and horizontal axis, not changing its size. -->
136            <flag name="center" value="0x11"/>
137            <!-- Grow the horizontal and vertical size of the object if needed so it completely fills its container. -->
138            <flag name="fill" value="0x77"/>
139            <!-- Additional option that can be set to have the top and/or bottom edges of
140                 the child clipped to its container's bounds.
141                 The clip will be based on the vertical gravity: a top gravity will clip the bottom
142                 edge, a bottom gravity will clip the top edge, and neither will clip both edges. -->
143            <flag name="clip_vertical" value="0x80"/>
144            <!-- Additional option that can be set to have the left and/or right edges of
145                 the child clipped to its container's bounds.
146                 The clip will be based on the horizontal gravity: a left gravity will clip the right
147                 edge, a right gravity will clip the left edge, and neither will clip both edges. -->
148            <flag name="clip_horizontal" value="0x08"/>
149            <!-- Push object to the beginning of its container, not changing its size. -->
150            <flag name="start" value="0x00800003"/>
151            <!-- Push object to the end of its container, not changing its size. -->
152            <flag name="end" value="0x00800005"/>
153        </attr>
154    </declare-styleable>
155
156    <declare-styleable name="TextInputLayout">
157        <attr name="hintTextAppearance" format="reference"/>
158        <!-- The hint to display in the floating label -->
159        <attr name="android:hint"/>
160        <!-- Whether the layout is laid out as if an error will be displayed -->
161        <attr name="errorEnabled" format="boolean"/>
162        <!-- TextAppearance of any error message displayed -->
163        <attr name="errorTextAppearance" format="reference"/>
164        <attr name="android:textColorHint"/>
165    </declare-styleable>
166
167    <declare-styleable name="SnackbarLayout">
168        <attr name="android:maxWidth"/>
169        <attr name="elevation"/>
170        <attr name="maxActionInlineWidth" format="dimension"/>
171    </declare-styleable>
172
173    <declare-styleable name="AppBarLayout">
174        <attr name="elevation" />
175        <attr name="android:background" />
176        <!-- The initial expanded state for the AppBarLayout. This only takes effect when this
177             view is a direct child of a CoordinatorLayout. -->
178        <attr name="expanded" format="boolean" />
179    </declare-styleable>
180
181    <declare-styleable name="AppBarLayout_LayoutParams">
182        <attr name="layout_scrollFlags">
183            <!-- The view will be scroll in direct relation to scroll events. This flag needs to be
184                 set for any of the other flags to take effect. If any sibling views
185                 before this one do not have this flag, then this value has no effect. -->
186            <flag name="scroll" value="0x1"/>
187
188            <!-- When exiting (scrolling off screen) the view will be scrolled until it is
189                 'collapsed'. The collapsed height is defined by the view's minimum height. -->
190            <flag name="exitUntilCollapsed" value="0x2"/>
191
192            <!-- When entering (scrolling on screen) the view will scroll on any downwards
193                 scroll event, regardless of whether the scrolling view is also scrolling. This
194                 is commonly referred to as the 'quick return' pattern. -->
195            <flag name="enterAlways" value="0x4"/>
196
197            <!-- An additional flag for 'enterAlways' which modifies the returning view to
198                 only initially scroll back to it's collapsed height. Once the scrolling view has
199                 reached the end of it's scroll range, the remainder of this view will be scrolled
200                 into view. -->
201            <flag name="enterAlwaysCollapsed" value="0x8"/>
202        </attr>
203
204        <!-- An interpolator to use when scrolling this View. Only takes effect when View
205             is scrollable. -->
206        <attr name="layout_scrollInterpolator" format="reference" />
207    </declare-styleable>
208
209    <declare-styleable name="ScrollingViewBehavior_Params">
210        <!-- The amount that the scrolling view should overlap the bottom of any AppBarLayout -->
211        <attr name="behavior_overlapTop" format="dimension" />
212    </declare-styleable>
213
214    <declare-styleable name="CollapsingToolbarLayout">
215        <!--  Specifies extra space on the start, top, end and bottom
216              sides of the the expanded title text. Margin values should be positive. -->
217        <attr name="expandedTitleMargin" format="dimension"/>
218        <!--  Specifies extra space on the start side of the the expanded title text.
219              Margin values should be positive. -->
220        <attr name="expandedTitleMarginStart" format="dimension"/>
221        <!--  Specifies extra space on the top side of the the expanded title text.
222              Margin values should be positive. -->
223        <attr name="expandedTitleMarginTop" format="dimension"/>
224        <!--  Specifies extra space on the end side of the the expanded title text.
225              Margin values should be positive. -->
226        <attr name="expandedTitleMarginEnd" format="dimension"/>
227        <!--  Specifies extra space on the bottom side of the the expanded title text.
228              Margin values should be positive. -->
229        <attr name="expandedTitleMarginBottom" format="dimension"/>
230        <!-- The text appearance of the CollapsingToolbarLayout's title when it is fully
231             'expanded' -->
232        <attr name="expandedTitleTextAppearance" format="reference"/>
233        <!-- The text appearance of the CollapsingToolbarLayouts title when it is fully
234             'collapsed' -->
235        <attr name="collapsedTitleTextAppearance" format="reference"/>
236        <!-- The drawable to use as a scrim on top of the CollapsingToolbarLayouts content when
237             it has been scrolled sufficiently off screen. -->
238        <attr name="contentScrim" format="color"/>
239        <!-- The drawable to use as a scrim for the status bar content when the
240             CollapsingToolbarLayout has been scrolled sufficiently off screen. Only works on
241             Lollipop with the correct setup. -->
242        <attr name="statusBarScrim" format="color" />
243        <!-- The id of the primary Toolbar child that you wish to use for the purpose of collapsing.
244             If you do not set this then the first Toolbar child found will be used. -->
245        <attr name="toolbarId" format="reference"/>
246
247        <!-- Specifies how the title should be positioned when collapsed. -->
248        <attr name="collapsedTitleGravity">
249            <!-- Push title to the top of its container, not changing its size. -->
250            <flag name="top" value="0x30"/>
251            <!-- Push title to the bottom of its container, not changing its size. -->
252            <flag name="bottom" value="0x50"/>
253            <!-- Push title to the left of its container, not changing its size. -->
254            <flag name="left" value="0x03"/>
255            <!-- Push title to the right of its container, not changing its size. -->
256            <flag name="right" value="0x05"/>
257            <!-- Place title in the vertical center of its container, not changing its size. -->
258            <flag name="center_vertical" value="0x10"/>
259            <!-- Grow the vertical size of the title if needed so it completely fills its container. -->
260            <flag name="fill_vertical" value="0x70"/>
261            <!-- Place title in the horizontal center of its container, not changing its size. -->
262            <flag name="center_horizontal" value="0x01"/>
263            <!-- Place the title in the center of its container in both the vertical and horizontal axis, not changing its size. -->
264            <flag name="center" value="0x11"/>
265            <!-- Push title to the beginning of its container, not changing its size. -->
266            <flag name="start" value="0x00800003"/>
267            <!-- Push title to the end of its container, not changing its size. -->
268            <flag name="end" value="0x00800005"/>
269        </attr>
270
271        <!-- Specifies how the title should be positioned when expanded. -->
272        <attr name="expandedTitleGravity">
273            <!-- Push title to the top of its container, not changing its size. -->
274            <flag name="top" value="0x30"/>
275            <!-- Push title to the bottom of its container, not changing its size. -->
276            <flag name="bottom" value="0x50"/>
277            <!-- Push title to the left of its container, not changing its size. -->
278            <flag name="left" value="0x03"/>
279            <!-- Push title to the right of its container, not changing its size. -->
280            <flag name="right" value="0x05"/>
281            <!-- Place title in the vertical center of its container, not changing its size. -->
282            <flag name="center_vertical" value="0x10"/>
283            <!-- Grow the vertical size of the title if needed so it completely fills its container. -->
284            <flag name="fill_vertical" value="0x70"/>
285            <!-- Place title in the horizontal center of its container, not changing its size. -->
286            <flag name="center_horizontal" value="0x01"/>
287            <!-- Place the title in the center of its container in both the vertical and horizontal axis, not changing its size. -->
288            <flag name="center" value="0x11"/>
289            <!-- Push title to the beginning of its container, not changing its size. -->
290            <flag name="start" value="0x00800003"/>
291            <!-- Push title to the end of its container, not changing its size. -->
292            <flag name="end" value="0x00800005"/>
293        </attr>
294    </declare-styleable>
295
296    <declare-styleable name="CollapsingAppBarLayout_LayoutParams">
297        <attr name="layout_collapseMode">
298            <!-- The view will act as normal with no collapsing behavior. -->
299            <enum name="none" value="0"/>
300            <!-- The view will pin in place. -->
301            <enum name="pin" value="1"/>
302            <!-- The view will scroll in a parallax fashion. See the
303                 layout_collapseParallaxMultiplier attribute to change the multiplier. -->
304            <enum name="parallax" value="2"/>
305        </attr>
306
307        <!-- The multiplier used when layout_collapseMode is set to 'parallax'. The value should
308             be between 0.0 and 1.0. -->
309        <attr name="layout_collapseParallaxMultiplier" format="float"/>
310    </declare-styleable>
311
312</resources>
313
314