• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="UTF-8"?>
2    <!--
3        Palette Metadata
4
5        This document provides additional designtime metadata for various Android views, such as
6        logical palette categories (as well as a natural ordering of the views within their
7        categories, fill-preferences (how a view will sets its width and height attributes when
8        dropped into other views), and so on.
9    -->
10<!DOCTYPE metadata [
11<!--- The metadata consists of a series of category definitions -->
12<!ELEMENT metadata (category)*>
13<!--- Each category has a name and contains a list of views in order -->
14<!ELEMENT category (view)*>
15<!ATTLIST category name CDATA #IMPLIED>
16<!--- Each view is identified by its full class name and has various
17      other attributes such as a fill preference  -->
18<!ELEMENT view (view)*>
19<!ATTLIST view
20    class CDATA #IMPLIED
21    name CDATA #IMPLIED
22    init CDATA #IMPLIED
23    icon CDATA #IMPLIED
24    relatedTo CDATA #IMPLIED
25    skip (true|false) "false"
26    render (alone|skip|normal) "normal"
27    fill (none|both|width|height|opposite|width_in_vertical|height_in_horizontal) "none"
28    resize (full|none|horizontal|vertical|scaled) "full"
29    topAttrs CDATA #IMPLIED
30>
31]>
32<metadata>
33    <category
34        name="Form Widgets">
35        <view
36            class="android.widget.TextView"
37            topAttrs="text,textAppearance,textColor,textSize"
38            name="TextView"
39            init=""
40            relatedTo="EditText,AutoCompleteTextView,MultiAutoCompleteTextView">
41            <view
42                name="Large Text"
43                init="android:textAppearance=?android:attr/textAppearanceLarge,android:text=Large Text" />
44            <view
45                name="Medium Text"
46                init="android:textAppearance=?android:attr/textAppearanceMedium,android:text=Medium Text" />
47            <view
48                name="Small Text"
49                init="android:textAppearance=?android:attr/textAppearanceSmall,android:text=Small Text" />
50        </view>
51        <view
52            class="android.widget.Button"
53            topAttrs="text,style"
54            name="Button"
55            init=""
56            relatedTo="ImageButton">
57            <view
58                name="Small Button"
59                init="style=?android:attr/buttonStyleSmall,android:text=Button" />
60        </view>
61        <view
62            class="android.widget.ToggleButton"
63            topAttrs="textOff,textOn,style,background"
64            relatedTo="CheckBox" />
65        <view
66            class="android.widget.CheckBox"
67            topAttrs="text"
68            relatedTo="RadioButton,ToggleButton,CheckedTextView" />
69        <view
70            class="android.widget.RadioButton"
71            topAttrs="text,style"
72            relatedTo="CheckBox,ToggleButton" />
73        <view
74            class="android.widget.CheckedTextView"
75            topAttrs="gravity,paddingLeft,paddingRight,checkMark,textAppearance"
76            relatedTo="TextView,CheckBox" />
77        <view
78            class="android.widget.Spinner"
79            topAttrs="prompt,entries,style"
80            relatedTo="EditText"
81            fill="width_in_vertical" />
82        <view
83            class="android.widget.ProgressBar"
84            topAttrs="style,visibility,indeterminate,max"
85            relatedTo="SeekBar"
86            name="ProgressBar (Large)"
87            init="style=?android:attr/progressBarStyleLarge"
88            resize="scaled" >
89            <view
90                name="ProgressBar (Normal)"
91                init=""
92                resize="scaled" />
93            <view
94                name="ProgressBar (Small)"
95                init="style=?android:attr/progressBarStyleSmall"
96                resize="scaled" />
97            <view
98                name="ProgressBar (Horizontal)"
99                init="style=?android:attr/progressBarStyleHorizontal"
100                resize="horizontal" />
101        </view>
102        <view
103            class="android.widget.SeekBar"
104            topAttrs="paddingLeft,paddingRight,progressDrawable,thumb"
105            relatedTo="ProgressBar"
106            resize="horizontal"
107            fill="width_in_vertical" />
108        <view
109            class="android.widget.QuickContactBadge"
110            topAttrs="src,style,gravity"
111            resize="scaled" />
112        <view
113            class="android.widget.RadioGroup"
114            topAttrs="orientation,paddingBottom,paddingTop,style" />
115        <view
116            class="android.widget.RatingBar"
117            topAttrs="numStars,stepSize,style,isIndicator"
118            resize="horizontal" />
119        <view
120            class="android.widget.Switch"
121            topAttrs="text,textOff,textOn,style,checked"
122            relatedTo="CheckBox,ToggleButton"
123            render="alone" />
124    </category>
125    <category
126        name="Text Fields">
127        <view
128            class="android.widget.EditText"
129            topAttrs="hint,inputType,singleLine"
130            name="Plain Text"
131            init=""
132            resize="full"
133            relatedTo="Spinner,TextView,AutoCompleteTextView,MultiAutoCompleteTextView"
134            fill="width_in_vertical">
135            <view
136                name="Person Name"
137                init="android:inputType=textPersonName" />
138            <view
139                name="Password"
140                init="android:inputType=textPassword" />
141            <view
142                name="Password (Numeric)"
143                init="android:inputType=numberPassword" />
144            <view
145                name="E-mail"
146                init="android:inputType=textEmailAddress" />
147            <view
148                name="Phone"
149                init="android:inputType=phone" />
150            <view
151                name="Postal Address"
152                resize="full"
153                init="android:inputType=textPostalAddress" />
154            <view
155                name="Multiline Text"
156                resize="full"
157                init="android:inputType=textMultiLine" />
158            <view
159                name="Time"
160                init="android:inputType=time" />
161            <view
162                name="Date"
163                init="android:inputType=date" />
164            <view
165                name="Number"
166                init="android:inputType=number" />
167            <view
168                name="Number (Signed)"
169                init="android:inputType=numberSigned" />
170            <view
171                name="Number (Decimal)"
172                init="android:inputType=numberDecimal" />
173        </view>
174        <view
175            class="android.widget.AutoCompleteTextView"
176            topAttrs="singleLine,autoText"
177            fill="width_in_vertical" />
178        <view
179            class="android.widget.MultiAutoCompleteTextView"
180            topAttrs="background,hint,imeOptions,inputType,style,textColor"
181            fill="width_in_vertical" />
182    </category>
183    <category
184        name="Layouts">
185        <view
186            class="android.widget.GridLayout"
187            fill="opposite"
188            render="skip" />
189        <view
190            class="android.widget.LinearLayout"
191            topAttrs="orientation,gravity"
192            name="LinearLayout (Vertical)"
193            init="android:orientation=vertical"
194            icon="VerticalLinearLayout"
195            fill="opposite"
196            render="skip">
197            <view
198                name="LinearLayout (Horizontal)" />
199        </view>
200        <view
201            class="android.widget.RelativeLayout"
202            topAttrs="background,orientation,paddingLeft"
203            fill="opposite"
204            render="skip" />
205        <view
206            class="android.widget.FrameLayout"
207            topAttrs="background"
208            fill="opposite"
209            render="skip" />
210        <view
211            class="include"
212            topAttrs="layout"
213            name="Include Other Layout"
214            render="skip"
215            relatedTo="fragment" />
216        <view
217            class="fragment"
218            topAttrs="class,name"
219            name="Fragment"
220            fill="opposite"
221            render="skip"
222            relatedTo="include" />
223        <view
224            class="android.widget.TableLayout"
225            topAttrs="stretchColumns,shrinkColumns,orientation"
226            fill="opposite"
227            render="skip" />
228        <view
229            class="android.widget.TableRow"
230            topAttrs="paddingTop,focusable,gravity,visibility"
231            fill="opposite"
232            resize="vertical"
233            render="skip" />
234        <view
235            class="android.widget.Space"
236            fill="opposite"
237            render="skip" />
238    </category>
239    <category
240        name="Composite">
241        <view
242            class="android.widget.ListView"
243            topAttrs="drawSelectorOnTop,cacheColorHint,divider,background"
244            relatedTo="ExpandableListView"
245            fill="width_in_vertical" />
246        <view
247            class="android.widget.ExpandableListView"
248            topAttrs="drawSelectorOnTop,cacheColorHint,indicatorLeft,indicatorRight,scrollbars,textSize"
249            relatedTo="ListView"
250            fill="width_in_vertical" />
251        <view
252            class="android.widget.GridView"
253            topAttrs="numColumns,verticalSpacing,horizontalSpacing"
254            fill="opposite"
255            render="skip" />
256        <view
257            class="android.widget.ScrollView"
258            topAttrs="fillViewport,orientation,scrollbars"
259            relatedTo="HorizontalScrollView"
260            fill="opposite"
261            render="skip" />
262        <view
263            class="android.widget.HorizontalScrollView"
264            topAttrs="scrollbars,fadingEdgeLength,fadingEdge"
265            relatedTo="ScrollView"
266            render="skip" />
267        <view
268            class="android.widget.SearchView"
269            topAttrs="iconifiedByDefault,queryHint,maxWidth,minWidth,visibility"
270            render="skip" />
271        <view
272            class="android.widget.SlidingDrawer"
273            render="skip"
274            topAttrs="allowSingleTap,bottomOffset,content,handle,topOffset,visibility" />
275        <view
276            class="android.widget.TabHost"
277            topAttrs="paddingTop,background,duplicateParentState,visibility"
278            fill="width_in_vertical"
279            render="alone" />
280        <view
281            class="android.widget.TabWidget"
282            topAttrs="background,paddingLeft,tabStripEnabled,gravity"
283            render="alone" />
284        <view
285            class="android.webkit.WebView"
286            topAttrs="background,visibility,textAppearance"
287            fill="opposite"
288            render="skip" />
289    </category>
290    <category
291        name="Images &amp; Media">
292        <view
293            class="android.widget.ImageView"
294            topAttrs="src,scaleType"
295            resize="scaled"
296            relatedTo="ImageButton,VideoView" />
297        <view
298            class="android.widget.ImageButton"
299            topAttrs="src,background,style"
300            resize="scaled"
301            relatedTo="Button,ImageView" />
302        <view
303            class="android.widget.Gallery"
304            topAttrs="gravity,spacing,background"
305            fill="width_in_vertical"
306            render="skip" />
307        <view
308            class="android.widget.MediaController"
309            render="skip" />
310        <view
311            class="android.widget.VideoView"
312            relatedTo="ImageView"
313            fill="opposite"
314            render="skip" />
315    </category>
316    <category
317        name="Time &amp; Date">
318        <view
319            class="android.widget.TimePicker"
320            topAttrs="visibility"
321            relatedTo="DatePicker,CalendarView"
322            render="alone" />
323        <view
324            class="android.widget.DatePicker"
325            relatedTo="TimePicker"
326            render="alone" />
327        <view
328            class="android.widget.CalendarView"
329            topAttrs="focusable,focusableInTouchMode,visibility"
330            fill="both"
331            relatedTo="TimePicker,DatePicker" />
332        <view
333            class="android.widget.Chronometer"
334            topAttrs="textSize,gravity,visibility"
335            render="skip" />
336        <view
337            class="android.widget.AnalogClock"
338            topAttrs="dial,hand_hour,hand_minute"
339            relatedTo="DigitalClock" />
340        <view
341            class="android.widget.DigitalClock"
342            relatedTo="AnalogClock" />
343    </category>
344    <category
345        name="Transitions">
346        <view
347            class="android.widget.ImageSwitcher"
348            topAttrs="inAnimation,outAnimation,cropToPadding,padding,scaleType"
349            relatedTo="ViewFlipper,ViewSwitcher,TextSwitcher"
350            render="skip" />
351        <view
352            class="android.widget.AdapterViewFlipper"
353            topAttrs="autoStart,flipInterval,inAnimation,outAnimation"
354            fill="opposite"
355            render="skip" />
356        <view
357            class="android.widget.StackView"
358            topAttrs="loopViews,gravity"
359            fill="opposite"
360            render="skip" />
361        <view
362            class="android.widget.TextSwitcher"
363            relatedTo="ViewFlipper,ImageSwitcher,ViewSwitcher"
364            fill="opposite"
365            render="skip" />
366        <view
367            class="android.widget.ViewAnimator"
368            topAttrs="inAnimation,outAnimation"
369            fill="opposite"
370            render="skip" />
371        <view
372            class="android.widget.ViewFlipper"
373            topAttrs="flipInterval,inAnimation,outAnimation,addStatesFromChildren,measureAllChildren"
374            relatedTo="ViewSwitcher,ImageSwitcher,TextSwitcher"
375            fill="opposite"
376            render="skip" />
377        <view
378            class="android.widget.ViewSwitcher"
379            topAttrs="inAnimation,outAnimation"
380            relatedTo="ViewFlipper,ImageSwitcher,TextSwitcher"
381            fill="opposite"
382            render="skip" />
383    </category>
384    <category
385        name="Advanced">
386        <view
387            class="requestFocus"
388            render="skip" />
389        <view
390            class="android.view.View"
391            topAttrs="background,visibility,style"
392            render="skip" />
393        <view
394            class="android.view.ViewStub"
395            topAttrs="layout,inflatedId,visibility"
396            render="skip" />
397        <view
398            class="android.gesture.GestureOverlayView"
399            topAttrs="gestureStrokeType,uncertainGestureColor,eventsInterceptionEnabled,gestureColor,orientation"
400            render="skip" />
401        <view
402            class="android.view.TextureView"
403            render="skip" />
404        <view
405            class="android.view.SurfaceView"
406            render="skip" />
407        <view
408            class="android.widget.NumberPicker"
409            topAttrs="focusable,focusableInTouchMode"
410            relatedTo="TimePicker,DatePicker"
411            render="alone" />
412        <view
413            class="android.widget.ZoomButton"
414            topAttrs="background"
415            relatedTo="Button,ZoomControls" />
416        <view
417            class="android.widget.ZoomControls"
418            topAttrs="style,background,gravity"
419            relatedTo="ZoomButton"
420            resize="none" />
421        <view
422            class="merge"
423            topAttrs="orientation,gravity,style"
424            skip="true"
425            render="skip" />
426        <view
427            class="android.widget.DialerFilter"
428            fill="width_in_vertical"
429            render="skip" />
430        <view
431            class="android.widget.TwoLineListItem"
432            topAttrs="mode,paddingBottom,paddingTop,minHeight,paddingLeft"
433            render="skip" />
434        <view
435            class="android.widget.AbsoluteLayout"
436            topAttrs="background,orientation,paddingBottom,paddingLeft,paddingRight,paddingTop"
437            name="AbsoluteLayout (Deprecated)"
438            fill="opposite"
439            render="skip" />
440    </category>
441    <category
442        name="Other">
443        <!--  This is the catch-all category which contains unknown views if we encounter any -->
444    </category>
445    <!--  TODO: Add-ons? -->
446</metadata>
447