Index

A

abortAnimation(), 370

AbsListView class, 284

AbsoluteLayout, 62

AbsoluteSizeSpan, 295

AccelerateDecelerateInterpolator class, 239

AccelerateInterpolator class, 239

accessible vocabulary, 182

action bar. see app bar

ActionBarCompat library, 70

activity transitions, 255259

Adapter class, 6061

AdapterViewAnimator, 62

AdapterView class, 57

interfaces for, 61

AdapterViewFlipper, 62

add, PorterDuff image compositing mode, 322

Adobe Illustrator, 118, 168169

AlignmentSpan.Standard, 295

alpha, View class attribute, 28

Amazon Appstore, 401

ambient light, 171

AnalogClock, 4546

Android Asset Studio, 390395

Android design website, 13

android:state_activated, 89

android:state_checkable, 89

android:state_checked, 89

android:state_enabled, 89

android:state_focused, 89

android:state_hovered, 90

android:state_pressed, 90

android:state_selected, 90

android:state_window_focused, 90

angle, ShapeDrawable class attribute, 94

AnimatedVectorDrawable class, 98100

animations, 104

form errors, 242246

icons, 246251

and Material Design, 1112

property. see property animations

purpose of, 232

view, 232233

AnimatorListener class, 235

animator (qualifier), 76

anim (qualifier), 76

AnticipateInterpolator class, 239

AnticipateOvershootInterpolator class, 239

app bar, 2122

AppCompat library, 7071

Apple, 170

application description, Google Play, 388

application icon, Google Play, 389395

apps

Camera app, 15

Contacts app, 1415

Gallery app, 15

Paper Camera, 400

Permission Informant, 175

promoting apps, 400401

AppWidgetHostView, 62

arrays, 103

attributes, ShapeDrawable class, 9495

angle, 94

bottom, 95

bottomLeftRadius, 94

bottomRightRadius, 94

centerColor, 94

centerX, 94

centerY, 94

color, 95

dashGap, 95

dashWidth, 95

endColor, 94

gradientRadius, 95

height, 95

innerRadius, 94

innerRadiusRatio, 94

left, 95

radius, 94

right, 95

shape, 94

startColor, 95

thickness, 94

thicknessRatio, 94

top, 95

topLeftRadius, 94

topRightRadius, 94

type, 95

useLevel, 94

width, 95

attributes, TextView class, 3638

drawable, 36

ellipsize, 36

fontFamily, 36

gravity, 36

hint, 36

inputType, 36

lines, 37

lineSpacing, 37

maxLines, 37

minLines, 37

shadowColor, 37

shadowDx, 37

shadowDy, 37

shadowRadius, 37

text, 37

textColor, 37

textIs, 37

textSize, 37

textStyle, 37

typeface, 37

attributes, VectorDrawable class, 9798

attributes, View class

alpha, 28

background, 29

content, 29

duplicate, 29

focusable, 29

id, 29

importantFor, 29

minHeight, 29

minWidth, 29

padding, 30

visibility, 30

attrs.xml, 409

AutoCompleteTextView, 42

available height, 78

available width, 78

B

back button, 19

background, View class attribute, 28

BackgroundColorSpan, 296

backgrounds, 3940

Balsamiq, 119

bending to user, core principles, 19

better text drawable, 308310

Bitmap class, 311, 338339

BitmapShader, 325328

bottom, ShapeDrawable class attribute, 95

bottomLeftRadius, ShapeDrawable class attribute, 94

bottomRightRadius, ShapeDrawable class attribute, 94

BounceInterpolator class, 239

breaking comps into views, 200201

brightness, 173

Button class, 39

C

cache, images, 277283

CalendarView, 42

Camera app, 15

Canvas class, 305

capitalization, text, 180

CardView library, 7172

centerColor, ShapeDrawable class attribute, 94

centerX, ShapeDrawable class attribute, 94

centerY, ShapeDrawable class attribute, 94

change log, Google Play, 389

CharSequence class, 236238

CheckBox, 42

CheckedTextView, 42

Chronometer, 46

circular reveal transitions, 259262

clear, PorterDuff image compositing mode, 316

ClickableSpan, 296

ClipDrawable class, 9293

CMYK (cyan, magenta, yellow, and black), 172

color, ShapeDrawable class attribute, 95

Color (Adobe’s tool), 177

color blindness, 177178

ColorMatrixColorFilter class, 314315

color (qualifier), 76

colors, 103, 171178

cultural meanings, 175176

filters, 313325

selection of, 174178

complex text, spans for, 297299

components, Android, 2023

app bar, 2122

FAB, 23

navigation drawer, 23

notifications, 21

system bars, 20

tabs, 2223

ComposeShader, 325

CompoundButton, 42

comps, breaking into views, 200201

computeScroll(), 365

configuration support, 113114

Contacts app, 1415

content, View class attribute, 29

content pieces, wireframes, 122123

context.getResources(), 355

Contrast Analyser, 179

contrast ratio, text, 179

convertView parameter, 59, 61

core principles

bending to user, 19

do one thing well, 1415

easy but powerful, 1718

platform consistency, 1819

visuals, 17

work well with others, 1516

custom drawables, creation of, 304305

custom fonts, 181182, 293295

custom views

attributes, 409416

bitmap creation, 338339

creating initial custom view files, 352357

creation of, 334347, 352385

drawing, 360365

layout, 337338

measurement, 336337, 357360

saving and restoring state, 340347

CycleInterpolator class, 239

D

darken, PorterDuff image compositing mode, 320321

dashGap, ShapeDrawable class attribute, 95

dashWidth, ShapeDrawable class attribute, 95

DatePicker, 42

Daydream feature, 6

DecelerateInterpolator class, 239

defaults, specifying, 81

deferred rendering, 286287

density, 79, 8183

design

colors, 171178

error cases, 184185

graphical, wireframes and, 168

icons, 184

lighting, 171

methods, 108110

navigation, 184

procedural steps, 185189

text. see text

transitions, 184

designers, working with, 192193

design library, 72

design website, 13

detail pages, wireframes, 123125

developers, 192

Device Art Generator, 401

device support, 113114

DialerFilter, 62

DigitalClock, 46

dimensions, 104

display

images, 3941

text, 3439

dots per inch (DPI), 31, 81

determining, 407

drawable, TextView class attribute, 36, 76

Drawable class, 304305, 356357

DrawableMarginSpan, 296

drawables

custom, 304305

XML drawables. see XML drawables

draw(Canvas), 304

drawing views, 333, 360365

draw9patch tool, 195

DST, PorterDuff image compositing mode, 316317

DST_ATOP, PorterDuff image compositing mode, 320

DST_IN, PorterDuff image compositing mode, 318

DST_OUT, PorterDuff image compositing mode, 318

DST_OVER, PorterDuff image compositing mode, 318319

Duarte, Matias, 6

Duff, Tom, 315

duplicate, View class attribute, 29

DynamicDrawableSpan, 296

E

EasyEditSpan, 296

EdgeEffect class, 351

EditText, 38, 404

eliminating, overdraw, 286289

ellipsize, TextView class attribute, 36

endColor, ShapeDrawable class attribute, 94

error cases, design, 184185

events, listening to, 4748

exit button, 19

ExpandableListView class, 59

external libraries, 114

extra, extra, extra high dots per inch (XXXHDPI), 32, 81, 198

extra, extra high dots per inch (XXHDPI), 32, 81

ExtractEditText, 46

extra high dots per inch (XHDPI), 32, 81

F

FAB, 23

FastOutLinearInInterpolator class, 239

FastOutSlowInInterpolator class, 240

feature graphic, Google Play, 397399

feedback, real user, 162164

filters, colors, 313325

flat design, 170

flowcharts, 114

focusable, View class attribute, 29

focused state, 17

fontFamily, TextView class attribute, 36

fonts

custom, 181182, 293295

Roboto font family, 293

TextView class, 293

ForegroundColorSpan, 296

FragmentBreadCrumbs, 62

fragments, 64

and activities, 130

lifecycle of, 6465

passing data to, 6566

problems associated with, 6970

prototypes, creation of. see prototypes, creation of

tab, 142155

talking to activity from, 6669

transactions, 69

FrameLayout class, 52

full screen mode, 404405

G

Gallery app, 15

Gallery class, 60

garbage collection, controlling, 283284

GestureDetector class, 350

GestureOverlayView, 62

getBounds(), 304

getCurrVelocity(), 385

getIntrinsicHeight(), 304

getIntrinsicWidth(), 305

getOpacity(), 304

getScaledMinimumFlingVelocity(), 355

getScrollX(), 365

GIFs, 83

Gimp, 168

GLSurfaceView, 46

goals, 110111

device and configuration support, 113114

product, 112113

user, 111112

user personas, 112

Google Play, 387

application description, 388

application icon, 389395

change log, 389

feature graphic, 397399

promoting apps, 400401

promotional graphic, 399400

screenshots, 395397

video (YouTube), 400

Google Plus, 16

gradientRadius, ShapeDrawable class attribute, 95

gradient shader, 325, 328330

graphical design

styles, 169170. see also specific styles

tools for, 168169

wireframes and, 168

graphics

feature graphic, Google Play, 397399

promotional. see promotional graphics

gravity

LinearLayout class attribute, 5253

TextView class attribute, 36

GridLayout, 63

GridLayout library, 72

GridView class, 59

H

hardware keyboard type, 80

HDPI (high dots per inch), 32, 81

height, ShapeDrawable class attribute, 95

Hierarchy Viewer, 289291

eliminating unnecessary views, 292

exporting Photoshop Document, 292293

missing views, finding, 291292

high dots per inch (HDPI), 32, 81

high-level flow, 114116

hint, TextView class attribute, 36

history, Android design, 6

home screen, 7

Honeycomb, 6, 233

full screen mode, 405

HorizontalIconView class, 352355

HorizontalScrollView class, 63

hot spot, 171

HSB (hue, saturation, and brightness), 172

vs. RGB, 173174

HTML class

spans, 297299

hue, 172

I

Ice Cream Sandwich, 6

IconMarginSpan, 296

icons

animations, 246251

design, 184

raster, animating, 250251

vector, animating, 246250

id, View class attribute, 29

IDs, 104105

Illustrator, 118, 168169

ImageButton class, 41

image files, 8384. see also raster images; vector images

images

alternate sizes, generating, 198199

availability and size, 183

cache, 277283

display, 3941

nine-patch, 8486, 195198

optimization, 272283

right sizes for, 273277

round, shaders for, 325328

shrinking, 199, 272273

working with, 310313

XML drawables. see XML drawables

ImageSpan, 296

ImageSwitcher, 63

ImageView class, 4041

importantFor, View class attribute, 29

ink, as Material Design component, 1011

Inkscape, 118

innerRadius, ShapeDrawable class attribute, 94

innerRadiusRatio, ShapeDrawable class attribute, 94

InputMethodManager, dismissing software keyboard, 404

inputType, TextView class attribute, 36

InsetDrawable class, 92

interaction, and Material Design, 1112

interpolators, 232233, 236

IntEvaluator class, 235

ItemAnimator class, 300

ItemDecoration class, 300

J

jank

identifications, 264265

Systrace and, 265271

Jelly Bean, 6

JPEGs, 83, 272273

K

kerning, 180

keyboard availability, 80

keyboards, software keyboard (dismissing), 404

KeyboardView, 46

key frames, 240241

KitKat, 256

L

language, 77

language direction, 77

layer list, XML drawables, 8788

LayoutParams, RelativeLayout class, 5657

layout (qualifier), 76

layouts, 28

views, 333, 337338

LayoutTransition class, 252

LDPI (low dots per inch), 32, 81

leading, 180

LeadingMarginSpan.Standard, 296

leanback library, 73

left, ShapeDrawable class attribute, 95

level list, XML drawables, 91

LevelListDrawable class, 91

lifecycle, of fragments, 6465

lighten, PorterDuff image compositing mode, 320

lighting, 171

LightingColorFilter class, 313

LinearGradient, 325

LinearInterpolator class, 240

LinearLayout class, 5255

LinearLayoutManager class, 299

LinearOutSlowInInterpolator class, 240

lines, TextView class attribute, 37

line spacing, 180

lineSpacing, TextView class attribute, 37

listeners, 235

ListView class, 5859, 284, 299

LocaleSpan, 296

Lollipop, 7

long press gesture, 25

low dots per inch (LDPI), 32, 81

LruCache class, 277

LRU (least-recently-used) cache, 277

LTR (left-to-right) layout, 3234

M

MaskFilterSpan, 296

match_parent (layout parameter), 31, 55

Material Design, 813, 170

and app bar, 22

colors for, 173174

interaction and animation, 1112

metrics and alignment, 13

mistakes made by designers/developers, 2425

overview, 811

typography, 1213

maxLines, TextView class attribute, 37

MDPI (medium dots per inch), 32, 81

measureHeight(int), 358

measurement, views, 332333, 336337, 357360

MeasureSpec, 333

measureWidth(int), 358, 359

mEdgeEffectLeft, 356, 370

mEdgeEffectRight, 356, 370

MediaController, 63

MediaRouteButton, 46

MediaRouter library, 73

medium dots per inch (MDPI), 32, 81

menu key, 2425

menu (qualifier), 76

menus, 105

methods, design

common, 108

User-Centered Design, 108110

MetricAffectingSpan, 296

Metro (design language), 170

Microsoft, 170

minHeight, View class attribute, 29

Minimalism, 170

minLines, TextView class attribute, 37

minWidth, View class attribute, 29

mipmap (qualifier), 76

mistakes, made by designers/developers

long press gesture, 25

menu key, 2425

notification icons, 25

styles from other platforms, 25

mobile country code, 77

mobile network code, 77

modes, PorterDuff image compositing, 316325

add, 322

clear, 316

darken, 320321

DST, 316317

DST_ATOP, 320

DST_IN, 318

DST_OUT, 318

DST_OVER, 318319

lighten, 320

multiply, 322323

overlay, 323

screen, 323

SRC, 316317

SRC_ATOP, 320

SRC_IN, 318

SRC_OUT, 318

SRC_OVER, 318319

XOR, 323325

MotionEvent.ACTION_CANCEL, 371

MotionEvent.ACTION_POINTER_UP, 371

MotionEvent.ACTION_UP, 370371

MotionEvent class, 350351, 369

MultiAutoCompleteTextView, 44

multiple devices, support for, 2324, 125126

multiply, PorterDuff image compositing mode, 322323

N

naming conventions, wireframes, 127

navigation

design, 184

wireframes, 119122

navigation drawer, 23, 134136

navigation key availability, 80

network connection, 408

Nexus 5, 268, 273

night mode, 79

nine-patch images, 8486, 195198

normal state, 17

notification icons, 25

notifications, 21

NumberPicker, 44

O

ObjectAnimator class, 234

Omnigraffle, 118

onAbsorb(int), 365

onActivityCreated(Bundle), 64

onAttach(Activity), 64

onBoundsChange(Rect), 305

OnClickListener, 48

onCreate(Bundle), 64

onCreateView(LayoutInflater, ViewGroup, Bundle), 64

onDestroy(), 65

onDestroyView(), 65

onDetach(), 65

OnDragListener, 48

onDraw(Canvas), 355

OnFocusChangeListener, 48

OnGenericMotionListener, 48

OnHoverListener, 48

onKeyDown(int, KeyEvent), 351

OnKeyListener, 48

onLevelChange(int), 305

OnLongClickListener, 48

onMeasure(int, int), 360

onOverScrolled(int, int, boolean, boolean), 366

onPause(), 65

onResume(), 64

onScrollChanged(x, 0, oldX, 0), 365

onStart(), 64

onStateChange(int[]), 305

onStop(), 65

onTouchEvent(MotionEvent), 369, 371

OnTouchListener, 48

onViewStateRestored(Bundle), 64

optical bounds, 197198

optimization, images, 272283

orientation, 79

orientation, LinearLayout class, 54, 55

overdraw, eliminating, 286289

overlay, PorterDuff image compositing mode, 323

overScrollBy, 366, 370

OverScroller class, 351

OvershootInterpolator class, 240

P

padding, View class attribute, 30

PagerTabStrip, 63

PagerTitleStrip, 63

Paint class, 305

Palette library, 73

paper, as Material Design component, 89

Paper Camera app, 400

PathInterpolator class, 240

patterns, ViewHolder class, 284286

performance, techniques to improve

eliminating overdraw, 286289

garbage collection, controlling, 283284

view holder pattern, 284286

Permission Informant app, 175

photo filters, 17

Photoshop, 168, 177178

Photoshop documents (PSD), exporting, 292293

Pixelmator, 168

platform consistency, core principles, 1819

platform version, 80

PNGs, 83, 273

compression, 84

Porter, Thomas, 315

PorterDuff image compositing, 315316

modes, 316325. see also modes, PorterDuff image compositing

postInvalidateOnAnimation(), 385

pressed state, 17

primary non-touch navigation method, 80

product goals, 112113

ProgressBar, 46

Project Butter, 6

promoting apps, Google Play, 400401

promotional graphics

Google Play, 399400

property animations, 233235

control, 235241. see also specific controls

prototypes, creation of, 131160

navigation drawer, 134136

tabs, 132134

tool details, 155160

tool representation, 137142

prototypes, evaluation of, 160

dynamic goal, 162

open-ended exploration, 161

real user feedback, 162164

specific goal, 161162

working with users, 161

Q

QuickContactBadge, 46

QuoteSpan, 296

R

RadialGradient, 325

RadioButton, 44

RadioGroup, 44

radius, ShapeDrawable class attribute, 94

raster icons, animating, 250251

raster images, 83

RasterizerSpan, 296

RatingBar, 44

raw (qualifier), 76

R class, 3031

resource qualifiers, 8081

R.drawable.header, 80, 81

RecyclerView.Adapter class, 299300

RecyclerView class, 299300

RecyclerView library, 73

region, 77

RelativeLayout class, 5556

RelativeSizeSpan, 296

rendering, deferred, 286287

ReplacementSpan, 296

resource qualifiers, 7681

list of, 7780

RGB (red, green, and blue)

vs. HSB, 173174

right, ShapeDrawable class attribute, 95

RippleDrawable class, 100101

Roboto, 12, 13

Roboto font family, 293

rounded corners, specifying, 95

round images, shaders for, 325328

RSSurfaceView, 47

RSTextureView, 47

RTL (right-to-left) layout, 3234

S

Samsung, 34

saturation, 172173

ScaleDrawable class, 93

scaleType attribute, values for, 4041

ScaleXSpan, 296

scene transitions, 252255

screen, PorterDuff image compositing mode, 323

screen aspect, 79

screens, keeping on, 405

screenshots, Google Play, 395397

screen size, 78

determining, 406407

Scroller class, 351

ScrollerCompat class, 351

ScrollView, 63

SearchView, 63

SeekBar, 44

setAlpha(int), 304

setColorFilter(ColorFilter), 304

setDrawables(ListDrawable), 356357

setWillNotDraw(false), 355

setWillNotDraw method, 334

shaders, 325330

gradient, 325, 328330

round images, 325328

shadowColor, TextView class attribute, 37

shadowDx, TextView class attribute, 37

shadowDy, TextView class attribute, 37

shadowRadius, TextView class attribute, 37

shadows

in Material Design, 910

text, 180181

shape, ShapeDrawable class attribute, 94

ShapeDrawable class, 9396

sharing, 1516

Show GPU Overdraw option, 287, 288

shrinking images, 199, 272273

simple text drawable, 306308

sizes, text, 180

Sketch tool, 118119

skeuomorphic design, 11

skeuomorphism, 169

slicing, 193

easy, 193194

generating alternate sizes, 198199

nine-patch images, 195198

SlidingDrawer, 63

smallest width, 78

software keyboard, dismissing, 404

Space, 47

spacing, text, 180

spans

for complex text, 297299

existing, 295297

Spinner, 44

Spinner class, 60

SRC, PorterDuff image compositing mode, 316317

SRC_ATOP, PorterDuff image compositing mode, 320

SRC_IN, PorterDuff image compositing mode, 318

SRC_OUT, PorterDuff image compositing mode, 318

SRC_OVER, PorterDuff image compositing mode, 318319

StackView, 63

standard icons, 184

startColor, ShapeDrawable class attribute, 95

state list, XML drawables, 8891

StateListDrawable class, 88

StrikethroughSpan, 296

strings, 102103

styles

text, 180

themes and, 199200

StyleSpan, 296

SubscriptSpan, 296

SuggestionSpan, 297

SuperscriptSpan, 297

supporting multiple devices, 2324, 125126

support library

annotations library, 7374

AppCompat library, 7071

CardView library, 7172

design library, 72

GridLayout library, 72

leanback library, 73

MediaRouter library, 73

Palette library, 73

RecyclerView library, 73

SurfaceView, 47

SweepGradient, 325

Switch, 44

system bars, 20

Systrace tool, 265271

T

TabHost, 63

TableLayout, 63

TableRow, 63

tabs, 2223, 132134

TabStopSpan.Standard, 297

TabWidget, 63

testing, across device types, 228229

text

better drawable, 308310

capitalization, 180

complex, spans for, 297299

contrast ratio, 179

design, 178182

display, 3439

fonts, 181182

shadows, 180181

simple drawable, 306308

sizes, 34, 180

spacing, 180

styles, 180

varying lengths, 183

text, TextView class attribute, 37

TextAppearanceSpan, 297

TextClock, 47

textColor, TextView class attribute, 37

textIs, TextView class attribute, 37

textSize, TextView class attribute, 37

textStyle, TextView class attribute, 37

TextSwitcher, 63

TextureView, 47

TextView class, 3538

attributes, 3638

existing spans, 295297

fonts, 293

HTML, 297299

thickness, ShapeDrawable class attribute, 94

thicknessRatio, ShapeDrawable class attribute, 94

3x Rule, 183184

TimeInterpolator interface, 236238

TimePicker, 45

ToggleButton, 45

Toolbar class, 62

top, ShapeDrawable class attribute, 95

topLeftRadius, ShapeDrawable class attribute, 94

topRightRadius, ShapeDrawable class attribute, 94

touch input

handling, 369385

preparation for, 365369

and views, 350351

touchscreen type, 79

TransitionDrawable class, 9192

transitions, 252

activity, 255259

circular reveal, 259262

design, 184

scene, 252255

transparency, 183184

type, ShapeDrawable class attribute, 95

type evaluators, 235238

typeface, TextView class attribute, 37

TypefaceSpan, 297

typography, 1213

U

UCD (User-Centered Design), 108110

UI mode, 79

UI threads, 408409

UnderlineSpan, 297

up indicator, 125

URLSpan, 297

useLevel, ShapeDrawable class attribute, 94

User-Centered Design (UCD), 108110

user goals, 111112

user personas, 112

V

ValueAnimator class, 233234, 235

values (qualifier), 76

VectorDrawable class, 96

attributes for, 9798

vector icons, animating, 246250

vector images, 84

VideoView, 47

video (YouTube), 400

view animations, 232233

ViewAnimator, 63

View class, attributes. see attributes, View class

ViewFlipper, 63

ViewGroup class, 52, 360

ViewHolder class, patterns, 284286

ViewPager class, 61

ViewPropertyAnimator class, 241242

views, 28

breaking comps into, 200201

custom. see custom views

dimensions, 3134

drawing, 333

for gathering user input, 4245

general concepts behind, 332

IDs, 30

layout, 333

measurement, 332333

missing, finding, Hierarchy Viewer and, 291292

save and restore state, 334

touch input and, 350351

unnecessary, eliminating, 292

ViewSwitcher, 63

visibility, View class attribute, 30

visuals, core principles, 17

W

WCAG (Web Content Accessibility Guidelines), 179

website, Android design, 13

WebView, 47

weight, LinearLayout class attribute, 53

width, ShapeDrawable class attribute, 95

wireframes, 117119

content pieces, 122123

detail pages, 123125

and graphical design, 168

naming conventions, 127

navigation, 119122

supporting multiple devices, 125126

Wireframe Sketcher, 119

woodworking app, 178

development of, 201228

main screen, 201211

tool details activity, 224228

tool list, 211224

wrap_content (layout parameter), 31

X

XHDPI (extra high dots per inch), 32, 81

XML drawables, 8687

AnimatedVectorDrawable class, 98100

ClipDrawable class, 9293

InsetDrawable class, 92

layer list, 8788

level list, 91

RippleDrawable class, 100101

ScaleDrawable class, 93

ShapeDrawable class, 9396

state list, 8891

tiles, 194

TransitionDrawable class, 9192

VectorDrawable class, 9698

xml (qualifier), 76

XOR, PorterDuff image compositing mode, 323325

XXHDPI (extra, extra high dots per inch), 32, 81

XXXHDPI (extra, extra, extra high dots per inch), 32, 81, 198

Z

ZoomButton, 47

ZoomControls, 63

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
13.58.10.55