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 & 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 & 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