Contributing‎ > ‎

ADT ICON WISHLIST

We'd really like prettier icons, preferably in the general overall style of Eclipse's own icons. Most icons are 16x16. The Android Eclipse plugins have a lot of icons, but most of them were just quick placeholders drawn by developers while developing the feature.

This document lists the various areas that have icons. They are not necessarily listed in priority order. Also, some of the screenshots are a bit obsolete as features have continued developing.

Toolbar

The Eclipse toolbar has buttons for a few Android-related actions:
These are the icons that represent each type of view -- buttons, text fields, linear layouts, progress bars, relative layouts, etc.

These actions are:
  • Open SDK/AVD manager. One is used to download SDK components, the other to create Emulator configuration. We should split it in two differents panels, so 2 separate icons would work.
  • Create new Android Project
  • Create new Android Test Project
  • Create new Android XML File

Layout Editor



On the left is the palette showing the widgets. The palette has multiple modes, one showing a "live preview" of what the widgets actually look like, and another showing standard icons instead.

The icons were updated with some new placeholders a few months ago, but still could use nicer icons:

**

These icons are used in a couple of places:
  • The outline, as shown on the right
  • The palette itself, as shown on the left
For the palette, we could use larger icons, say 32x32 icons, but in the outline, we need to confine ourselves to 16x16 icons. Therefore, in the first round, we need 16x16 icons for all the widgets, and we can use these in the palette as well.  Later, it would be great if we could offer larger icons in the palette, since we plan on having multiple views in the palette:
  • An icon + name view, as shown above - this would probably use 16x16 icons next to the text
  • An icon-only view, where the icons are packed into multiple icons per line. This is a more compact view, and we can afford to make the icons larger here to make them clearer and more distinguishable.
  • A preview-view, which shows the actual rendered versions of the widgets themselves, instead of icons (though for certain types of views, such as layouts, which have no graphics on their own, we may use icons.)
Icons for the views are the top priority. The full list of icons are exactly those views supported by Android, and the names here correspond to the Android classes:

WIDGETSLAYOUTS
AnalogClock
AutoCompleteTextView
Button
CheckBox
CheckedTextView
Chronometer
DatePicker
DigitalClock
EditText
Gallery
GestureOverlayView
ImageButton
ImageView
MultiAutoCompleteTextView
ProgressBar
QuickContactBadge
RadioButton
RatingBar
SeekBar
Spinner
SurfaceView
TextView
TimePicker
ToggleButton
TwoLineListItem
VideoView
View
ViewStub
WebView
ZoomButton
ZoomControls
AbsoluteLayout
DialerFilter
ExpandableListView
FrameLayout
GridView
HorizontalScrollView
ImageSwitcher
LinearLayout
ListView
MediaController
RadioGroup
RelativeLayout
ScrollView
SlidingDrawer
TabHost
TableLayout
TableRow
TabWidget
TextSwitcher
ViewAnimator
ViewFlipper
ViewSwitcher

In addition, there are 5 additional items that aren’t real Android View classes, but will also appear in the palette and/or outline:
  • “include” - this represents an <include> tag in the XML, which means you can include content from a different layout file and show it in place in the current layout. This is a bit like HTML’s “<frame>” concept
  • “merge” - this represents a <merge> tag in the XML, where you can declare multiple views without a parent; they will be added as direct children wherever this layout is inclued from
  • fragment - this is similar to includes
  • requestFocus - dropped on a view to have initial focus in the layout
  • custom view - this is not going to show up on the palette, but in the outline if the user has custom views (their own classes implementing View)
The layout editor has a toolbar shown in the original overview image, containing a handful of actions or state-buttons:
  • Zoom in, Zoom out, Zoom to 100%, Zoom to Fit, Emulate real size
  • Display extra margins around every view
  • Display outlines around every view
  • Toggle clipping mode

Finally, the context menu (and a few other places) has buttons for reordering elements - up and down buttons which need icons:


Layout Actions Bar

The layout editor has a new “layout bar” above the layout canvas where context-dependent actions are listed:


The set of icons needed for this layout bar currently contains:
  • Horizontal and Vertical orientation for linear layout
  • Fill width and fill height toggle buttons
  • Margins
  • Gravity
  • Distribute weights evenly
  • Edit Weight
  • Toggle Baseline alignment
  • Show Structure

DDMS

The tool has a DDMs perspective which needs a number of icons:


In the Device list, we need an icon to represent each device (which can also serve as the device view icon, as shown in the top left here).
There are two types of devices:
  • emulator
  • real devices (We don’t differenciate phone/tablets/googletv so we’ll need something somewhat generic
Then along the view toolbar we have icons for the following actions:
  • Debug the process
  • Enable/Disable (almost) real-time Heap info. As you see in the above screenshot right now it’s a toggle button. If it’s easier to have two different icons, we can make it work.
  • Dump HPROF file (this is a file containing memory allocation info)
  • Cause Garbage Collection
  • Enable/Disable real time Thread info. Same as the Heap info this could be two icons.
  • Start Method Profiling. This icon actually change to “Stop method profiling” once clicked. So we need two icons for start and stop.
  • Stop Process
  • Screen Capture / Screenshot

There are additional views which need a view icon:
  • the emulator control (shown here is the icon for the emulator device as mentioned above)
  • Additional views:
    • Heap
    • Threads
    • Allocation Tracker
    • File Explorer
    • Logcat
The logcat view was recently rewritten from scratch and may also need some new icons.

Editor

The text editor does not use many icons, except for in the case of code completion dialogs.

Here we need just one icon, to represent Android attributes. (We are currently using different icons for each property based on the first letter of the property, but we only need a single “property” icon):

For views we can reuse the palette/outline icons.

Configuration Chooser


We have a dialog where you can create new XML files in particular configurations, and this dialog has an icon for each configuration type:


The needed configuration types are:
  • Country code
  • Network code
  • Language
  • Region
  • Screen Size bucket (small, normal, large, x-large)
  • Screen Ratio bucket (long, notlong)
  • Orientation (portrait, landscape, square)
  • Dock Mode (no dock, car dock, desk dock)
  • Night Mode (night mode, day mode)
  • Pixel Density bucket (low dpi, medium dpi, high dpi, x-high dpi)
  • Touch Screen (no touch, finger, stylus)
  • Keyboard state (keys hidden, keys exposed, software keyboard)
  • Text Input (no keys, qwerty, 12keys)
  • Navigation State (exposed, hidden)
  • Navigation Method (no nav, wheel, d-pad, trackball)
  • Dimension (screen resolution)
  • Android Version (API level)


SDK Manager

The SDK manager has a number of screens with icons:

The icons needed here are for a valid Android virtual device (AVD), a repairable device and a broken one.


The list of installed packages include icons
  • Android SDK Tools
  • Android SDK Platform Tools
  • Documentation
  • Regular Android platforms
  • Samples
  • Package (not shown)
  • Broken packages (not shown -- example here)


Here we need icons for:
  • Repository type
  • OEM repositories


Finally, during installation we need to also show icons for packages you need to inspect (to agree to the license).

Manifest Editor

The Android manifest UI editor uses a number of icons:

First, note how there are tabs on the bottom to edit various aspects of the manifest:
  • Main manifest
  • Application
  • Permissions
  • Instrumentation
  • (XML view, we can use the standard icon for this)


Second in the Manifest Extras section, there are filtering buttons for:
  • Uses feature
  • Supports screen
  • Protected broadcast
  • Compatible screens
  • Uses SDK
  • Original package
  • Uses configuration

Here we need icons to represent:
  • Activity
  • Activity Alias
  • Service
  • Provider
  • Receiver
  • Metadata
  • Uses Library
  • The last icon is for toggling alphabetical sorting
Comments