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