SlideShare ist ein Scribd-Unternehmen logo
1 von 201
Britt Barak
14/2/2016
Android Design
Take 3
3
Britt Barak
Britt Barak
Figure 8
Android Academy
Women Techmakers
Largest Android Community
Android Academy - TLV
TLV - Android Academy
~ 2000 members Join Us:
Jonathan
Yarkoni
Android Leader
Ironsource
Android Academy Staff
Yonatan Levin
Android
Google Developer
Expert
Britt Barak
Android Lead
Figure8
Yossi Segev
Android Developer
Colu
Shahar
Avigezer
Android Developer
Hello Heart
Community Mentors
9.3 - 10.3
Register :goo.gl/forms/STkeqW9fHGI1JAb52
Pairing - Stickers!
Developers red Designers green
Let the fun begin!
Material Design Principles
Today
What’s on the menu?
- Bold Graphic Design
- Meaningful Motion
- Android Design Vision
Bold Graphic Design
●Colors
●Imagery
○ Photography
○ Iconography
Color
90 seconds
For Product Judgement
90% based on colors!
Brand recognition 80%
Learning 78%
Comprehension 73%
Material Design Palette
Color Palette
●Primary color - app’s personality
●Accent color - draws attention
●TIP : 2-3 hues of primary + 1 accent color
Material Themes
●@android:style/Theme.AppCompat (dark version)
@android:style/Theme.AppCompat.Light (light version)
@android:style/Theme.AppCompat.Light.DarkActionBar
android:theme="@style/AppTheme"
Customize Native Widgets Color
Define Resources
colors.xml
<color name="indigo_300">#7986CB</color>
<color name="indigo_500">#3F51B5</color>
<color name="indigo_700">#303F9F</color>
<color name="pink_a200">#FF4081</color>
Define Resources
styles.xml
<style name="AppTheme"
parent="Theme.AppCompat.Light">
<item name="colorPrimary">@color/indigo_500</item>
<item
name="colorPrimaryDark">@color/indigo_700</item>
<item name="colorAccent">@color/pink_a200</item>
</style>
Coloring Programmatically
Tinting 21+
drawable.setTint(color);
Tinting
drawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(drawable.mutate(), color);
Coloring Dynamically
Palette Class
Extracting palette from image
Palette Class
Extracting palette from image
Vibrant
Vibrant Dark
Vibrant Light
Muted
Muted Dark
Muted Light
Palette API
// Synchronous
Palette p = Palette.from(bitmap).generate();
// Asynchronous
Palette.from(bitmap).generate(new PaletteAsyncListener() {
public void onGenerated(Palette p) {
}
});
Questions?
Imagery
Imagery
Pictures are faster than words.
●Explain ideas
●Clear context
●Win attention
Imagery
Photography Illustration Iconography
Hi, I’m Drawable!
And you are?
"something that can be drawn."
Drawable
Unlike a View-
does not interact with the user.
Important types
- Bitmap
- Nine patch
- Vector
- Shapes
- StateList
BitmapDrawable
wraps a bitmap
can be tiled, stretched, or aligned.
BitmapDrawable
Nine patch
PNG image in which you can define stretchable regions
example
ShapeDrawable
draws primitive shapes:
- Rectangle
- Oval
- Ring
- Line
<shape
android:shape="rectangle" >
<corners android:radius="4dp" />
<stroke android:width="4dp" android:color="@color/stroke" />
<solid android:color="@color/fill"/>
<padding android:left="20dp" android:top="20dp"
android:right="20dp" android:bottom="20dp" />
</shape>
Questions?
Photography
Imagery
Photography Illustration Iconography
Photos
●Specific to content
●Personal
●Inspiring
Remember
●Good quality
●Not too heavy
○ Out Of Memory Exceptions
●Scale types
Avatars and Thumbnails
Generally- are tap targets
Round - softer, people face shape
Personalization
RoundedBitmapDrawable drawable =
RoundedBitmapDrawableFactory
.create(getResources(), bitmap);
drawable.setCircular(true);
...and there’s a secret
Canvas canvas = new Canvas(destination);
canvas.drawBitmap(destination, 0, 0, null);
maskPaint.setXfermode(new PorterDuffXfermode(mode));
canvas.drawBitmap(source, 0 , 0 , maskPaint);
imageView.setImageBitmap(destination);
https://developer.android.com/reference/android/graphics/PorterDuffXfermode.html
Hero Image
Anchored in a prominent position
●Draw in a user
●Context about the content
●Reinforce the brand.
Text & Icon Protection
●Shadow to icons / text
●Overlay / scrim:
○ Dark scrims : 20%-40% opacity
○ Light scrims : 40%-60% opacity
●Blur image
Text & Icon Protection
Gradient Colored Shapes
<shape android:shape="rectangle" >
<corners android:radius="4dp" />
<stroke android:width="1dp" android:color="#0078a5" />
<gradient
android:startColor="#0078a5" android:endColor="#00adee"
android:angle="90"/>
<padding android:left="8dp" android:top="2dp"
android:right="8dp" android:bottom="2dp" />
</shape>
Gradient Colored Shapes
<shape android:shape="rectangle" >
<corners android:radius="4dp" />
<stroke android:width="1dp" android:color="#0078a5" />
<gradient
android:startColor="#0078a5" android:endColor="#00adee"
android:gradientRadius="250"
android:type="radial"/>
<padding android:left="8dp" android:top="2dp"
android:right="8dp" android:bottom="2dp" />
</shape>
Iconography
Next Session….
Option1: PNGs
Option2: Vector Graphics
1.Size - Single file
2.Quality - Drawing instructions
3.Animation
Do you mean SVG???
Not Exactly...
Vector Graphic
M - move to
H- Horizontal line
V- Vertical line
L- Line to
Z - Close path
●Uppercase - absolute, Lowercase - relative
Example
M 1,1
Example
M 1,1
H 9
Example
M 1,1
H 9
V 9
Example
M 1,1
H 9
V 9
H 1
Example
M 1,1
H 9
V 9
H 1
Z
SVG
VectorDrawable
A Word About Performance
- Size - max 200 x 200 dp
- Different size / color → separate file.
- FillType and conversion
- http://a-student.github.io/SvgToVectorDrawableConverter.Web/
Questions?
Meaningful Motion
“I choose a lazy person to do a hard job.
Because a lazy person will find
an easy wayto do it.”
- Bill Gates
Animations Are Important
●Draws the eye
●Instruct user
●Continuous experience
●User feedback
●Delightful details
Today we’ll be cost - effective.
Meaningful Motion
- Responsive
- The user controls the situation
- Instructive
- The user know what’s happening
Responsive - the user as the prime mover
Why?
- Perceived latency
- Better ux (understanding how to interact)
- Sense of user control
Touch Feedback
●Targets size : 48dp (7-9mm)
●Feedback for ALL touchable elements
○ Standard button
○ Ripples
○ Selectors
Standard Button
Ripple & Elevation by default.
Ripple
Set background:
?android:attr/selectableItemBackground
?android:attr/selectableItemBackgroundBorderless
Recolor
● on android theme : colorControlHighlight
●(custom RippleDrwawble)
But that’s for L+
What can we do?
StateListDrawable (aka Selector)
Different images to represent the same graphic,
depending on the state of the object.
<selector >
<item android:state_pressed="false"
android:drawable="@color/bg_default" />
<item android:state_pressed="true"
android:drawable="@color/bg_pressed" />
</selector>
States
● android:state_pressed
● android:state_focused
● android:state_hovered
● android:state_selected
● android:state_checkable
● android:state_checked
● android:state_enabled
By the way...
Schedule
M T W T F S S
StateListAnimator
Animate View State Changes
android:stateListAnimator
https://developer.android.com/reference/android/animation/StateListAnimator.html
StateListAnimator
<selector>
</selector>
StateListAnimator
<selector>
<item android:state_pressed="true">
<set>
<objectAnimator android:propertyName="translationZ"
android:duration="@android:integer/config_shortAnimTime"
android:valueTo="2dp"
android:valueType="floatType"/>
</set>
</item>
//……….
animate translationZ when pressed
<selector>
<item android:state_pressed="true">
<!--...-->
</item>
<item android:state_pressed="false">
<set>
<objectAnimator android:propertyName="translationZ"
android:duration="100"
android:valueTo="0"
android:valueType="floatType"/>
</set>
</item>
</selector>
animate translationZ when pressed
<selector>
<item android:state_pressed="true">
<!--...-->
</item>
<item android:state_pressed="false">
<set>
<objectAnimator android:propertyName="translationZ"
android:duration="100"
android:valueTo="0"
android:valueType="floatType"/>
</set>
</item>
</selector>
ObjectAnimator
animating properties on target objects.
<objectAnimator
android:propertyName="y"
android:valueTo="200"
android:valueType="floatType"
android:duration="1000"
android:repeatCount="1"
android:repeatMode="reverse"/>
By Java Code:
ObjectAnimator mAnimator;
mAnimator = ObjectAnimator.ofFloat(view, View.X, View.Y, path);
...
mAnimator.start();
Motion Best Practices:
- Keep it fast
- Duration per distance (and screen size)
- Natural curve
- Natural movement (interpolator)
- Don’t do it.
Duration
●Tablet 130% 390 ms
●Normal 100% 300 ms
●Wearable 70% 210 ms
Use Curved Motion
PathInterpolator based on a Bézier curve or a Path object.
<pathInterpolator
android:controlX1="0.4"
android:controlY1="0"
android:controlX2="1"
android:controlY2="1"/>
Interpolator
Object are quicker close to final position
@interpolator/fast_out_linear_in.xml
@interpolator/fast_out_slow_in.xml
@interpolator/linear_out_slow_in.xml
Samples: github.com/googlesamples/android-Interpolator
https://material.io/guidelines/motion/material-motion.html
Questions?
Delightful Details
API 21+ . Their attributes are can be animated.
Animated Vector Drawable
Vector Drawable
API 21+
Drawables defined in XML
Their attributes are can be animated.
http://developer.android.com/training/material/animations.html#AnimVector
https://github.com/udacity/ud862-samples/tree/master/TickCross
https://github.com/udacity/ud862-samples/tree/master/HeartFill
Reveal Effect
Reveal animations provide users visual continuity when you show or
hide a group of UI elements.
ViewAnimationUtils.createCircularReveal()
Questions?
Continuous Experience
Relations between screens
Shared elements
Activity transitions
Activity Transitions
A
source
B
destination
1. Exit A 2. Enter B
3. Return B4. Re-enter A
Transition Types
API 19+ :
●AutoTransition
○ Fade in, change bounds, fade out
●Fade
○ visibility
●ChangeBounds
○ size&position
●TransitionSet
API 21+ :
● Explode
○ visibility
●Slide
○ enter/exit from an edge
●ChangeClipBounds
○ Bounds & transforms
●ChangeImageTransform
○ Bounds & transforms(scale types)
●ChangeTransform
○ Bounds & transforms
●Content transition
○ Run anim on the content coming in / going out
●Shared element transition
Window transitions (between activities)
Create
In xml file:
<autoTransition/>
<fade />
<changeBounds/>
…..
Specify Multiple Transitions
(For example, this is AutoTransition)
<transitionSet android:transitionOrdering="sequential">
<fade android:fadingMode="fade_out" />
<changeBounds />
<fade android:fadingMode="fade_in" />
</transitionSet>
Apply
Content transition:
- Style
- Calling activity
- Called activity
Style
<style name="BaseAppTheme" parent="android:Theme.Material">
<item name="android:windowActivityTransitions">true</item>
<item name="android:windowEnterTransition">@transition/explode</item>
<item name="android:windowExitTransition">@transition/explode</item>
</style>
Calling Activity
startActivity(intent);
overridePendingTransition
(R.anim.slide_from_right, R.anim.slide_to_left);
finish();
overridePendingTransition
(R.anim.slide_from_left, R.anim.slide_to_right);
Called Activity
Activity.java:
getWindow().setEnterTransition(transition);
getWindow().setExitTransition(transition);
Between View Hierarchies
TransitionManager.
beginDelayedTransition(rootView, transition);
https://developer.android.com/training/transitions/index.html
Shared element
Shared Element
ActivityOptionsCompat options = ActivityOptionsCompat.
makeSceneTransitionAnimation(this, view, "transitionName");
startActivity(intent, options.toBundle());
Shared Element
ActivityOptionsCompat options = ActivityOptionsCompat.
makeSceneTransitionAnimation(this,
Pair.create(view1, "transName1"),
Pair.create(view2, "transName2"));
startActivity(intent, options.toBundle());
What Does It Do?
(For example, this is the default)
<transitionSet android:transitionOrdering="sequential">
<changeBounds />
<changeTransform />
<changeClipBounds />
<changeImageTransform />
</transitionSet>
Define Custom Transition
<style name="BaseAppTheme" parent="android:Theme.Material">
<item name="android:windowSharedElementEnterTransition">
@transition/custom</item>
<item name="android:windowSharedElementExitTransition">
@transition/custom</item>
</style>
Called Activity
Activity.java:
getWindow().setSharedElementEnterTransition(transition);
getWindow().setSharedElementExitTransition(transition);
Instructive Motion
Demonstrate Navigation:
scroll up a list
viewpager slide
show drawer
Questions?
But,
How Do We Know
If The UX Is Good Enough?
Android Design Vision
Research: Predict Marriage Lasting
By watching couples for 15min. after wedding
Prof. John Gottman at the University of Washington
Research: Predict Marriage Lasting
By watching couples for 15min. after wedding - 94% accuracy
How??
How??
Success
Prof. John Gottman, Washington Uni.
15
How??
Failure
Prof. John Gottman, Washington Uni.
11
Workgroup Productiveness
Productive
Marcials Loanda
13
Positive to Negative Emotions
Barbara Fredrickson
13
Fill The Jars
Fill The Jars
HOW?
Android Creative Vision
Enchant me.
Simplify my life.
Make me amazing.
Android Creative Vision
Dear Android,
Enchant me.
Simplify my life.
Make me amazing.
10x!!!
Users.
Let’s Fill The Jars!
● Delight me in surprising ways
● Real objects are more fun that
button and menus
● Let me make it mine
● Get to know me
Enchant Me
Simplify My Life
Make me Amazing
Enchant Me
Delight me in surprising ways
Surface, animation, sound effect…
Subtle effects contribute to a feeling of effortlessness
Real objects are more fun than buttons and menus
Reduces the cognitive effort
More emotionally satisfying
Let me make it mine
Customization that lets users
‘own’ the experience.
Get to know me
Learn users’ preferences
Previous choices within easy reach
Get to know me
● Keep it brief
● Pictures are faster than words
● Decide for me but let me have the final
say
● Only show what I need when I need it
● I should always know where I am
● Never lose my stuff
● If it looks the same, it should act the
same
● Only interrupt me if it’s important
Enchant Me
Simplify My Life
Make me Amazing
Simplify My Life
Keep it brief
Short phrases with simple words.
People skip long sentences.
Keep it brief
Yossi Segev, Jonathan Yarkoni, Yonatan V. Levin and 74 others like this.
Pictures are faster than words
●Eye-catching
●Faster to understand than text
●Words are longer
SET TIME
AAJUSTAR HORÁRIO
REGLAGES DE L'HEURE
ZEITSPANNE AUSWÄHLEN
Decide for me but let me have the final say
Take your best guess and act
rather than asking first.
Allow for 'undo'.
Decide for me but let me have the final say
Decide for me but let me have the final say
Decide for me but let me have the final say
“Are you sure” implies that the user didn't think through
Only show what I need when I need it
Too much data is overwhelming
Small tasks and information chunks
Hide if not essential at the moment
Teach people as they go.
Navigation Drawers
Too much data is overwhelming
Small tasks and information chunks
Hide if not essential at the moment
Teach people as they go.
Runtime Permissions
Too much data is overwhelming
Small tasks and information chunks
Hide if not essential at the moment
Teach people as they go.
Contextual Tips Instead of Onboarding
Too much data is overwhelming
Small tasks and information chunks
Hide if not essential at the moment
Teach people as they go.
Contextual Tips Instead of Onboarding
They are not a substitute for good UX design!
Only for priority or difficult tasks
If you MUST use onboarding :
It’s essential for first use
Allow users to skip it
I should always know where I am
Give users confidence.
Make places in your app look distinct
Transitions show relationships among screens.
Progress feedback
Never lose my stuff
Save given data and let access it from anywhere.
settings, personal touches, and creations across phones, tablets, and computers.
If it looks the same, it should act the same
Discern functional differences by making them visually distinct
Only interrupt me if it's important
●Shield people from unimportant minutiae.
●Interruption can be dispersing, taxing and frustrating.
Only interrupt me if it's important
●Notifications
●Un-interrupting progressbar
● Give me tricks that work
everywhere
● It’s not my fault
● Sprinkle encouragement
● Do the heavy lifting for me
● Make important things fast
Enchant Me
Simplify My Life
Make me Amazing
Make Me Amazing
Give me tricks that work everywhere
Make an easy to learn app
●Use ui patterns.
●People love figuring out for themselves.
Gestures
●Touch
○ → example: select.
●Double touch
○ → example: zoom in
●Drag, Swipe, or Fling
○ → Example: Dismiss, scroll, tilt, etc.
Gestures
●Long press
○ → Example: Select an elemen
● Long press is not used to display a contextual menu.
●Pinch open / close: zoom in / out
It's not my fault
When things go wrong - be nice
Users should feel smart
Clear instructions
verbs, short words, not technical,spare the unneeded details.
Fix behind the scenes if possible
It's not my fault
Insert your SIM card now. You did not insert SIM card!
It's not my fault
It's not my fault - No Content
Avoiding completely empty states
Best match
Tto handle a misspelled query without explicitly blaming on the user.
Sprinkle encouragement
Smaller easier steps instead of one complex task
Feedback on actions, even just a subtle glow.
Use 2nd person, human approachable tone
Humor - not always appropriate
Sprinkle encouragement
Just a sprinkle...
Do the heavy lifting for me
Make novices feel like experts
Do the heavy lifting for me
Predict what would the user want to do next
Make important things fast
Make the most important thing
easy to find and fast to use
Make important things fast
Make the most important thing
easy to find and fast to use
Words Are Powerful
Pay attention to:
- Keep it brief
- It’s not my fault
- Sprinkle encouragement
Let’s View Some general Examples
Example-
How to inform users?
Blocking Alert Dialog
Negative:
●Keep it brief
●It’s not my fault
●Only interrupt me if it’s important
Toast
Negative:
●Only interrupt me if it’s important
●It’s not my fault
Snackbar
Positive:
●Only interrupt me if it’s important
●Do the heavy lifting for me
●Decide for me but let me have the final say
Example-
Rich Notifications
Rich Notifications
Positive:
●Only interrupt me if it’s important
●Make important things fast
Example-
Phone (Dialer)
Phone -
Positive:
●Get to know me
●Let me make it mine
●Pictures are faster than words
●Make important things fast
Example-
Expanding FAB
Expanding FAB
Positive:
●Get to know me
●Pictures are faster than words
●Make important things fast
●Only show what I need
when I need it
Any Questions?
So What Did We Have Today?
●Bold Graphic Design
○ Themes and colors
○ Tinting
○ Palette api
○ Drawables
●Meaningful Motion
○ Touch feedback
Android design   lecture #3

Weitere ähnliche Inhalte

Andere mochten auch

Workshop on Search Engine Optimization
Workshop on Search Engine OptimizationWorkshop on Search Engine Optimization
Workshop on Search Engine OptimizationAdarsh Patel
 
Workhsop on Logic Building for Programming
Workhsop on Logic Building for ProgrammingWorkhsop on Logic Building for Programming
Workhsop on Logic Building for ProgrammingAdarsh Patel
 
Project Analysis - How to Start Project Develoment
Project Analysis - How to Start Project DevelomentProject Analysis - How to Start Project Develoment
Project Analysis - How to Start Project DevelomentAdarsh Patel
 
Optimizing Apps for Better Performance
Optimizing Apps for Better PerformanceOptimizing Apps for Better Performance
Optimizing Apps for Better PerformanceElif Boncuk
 
Optimizing apps for better performance extended
Optimizing apps for better performance extended Optimizing apps for better performance extended
Optimizing apps for better performance extended Elif Boncuk
 
Android material design lecture #2
Android material design   lecture #2Android material design   lecture #2
Android material design lecture #2Vitali Pekelis
 
Hack'n Break Android Workshop
Hack'n Break Android WorkshopHack'n Break Android Workshop
Hack'n Break Android WorkshopElif Boncuk
 
Overview of DroidCon UK 2015
Overview of DroidCon UK 2015 Overview of DroidCon UK 2015
Overview of DroidCon UK 2015 Elif Boncuk
 
Lecture 04. Mobile App Design
Lecture 04. Mobile App DesignLecture 04. Mobile App Design
Lecture 04. Mobile App DesignMaksym Davydov
 
What's new in Android at I/O'16
What's new in Android at I/O'16What's new in Android at I/O'16
What's new in Android at I/O'16Elif Boncuk
 
Android Udacity Study group 1
Android Udacity Study group 1Android Udacity Study group 1
Android Udacity Study group 1Aly Abdelkareem
 
Fundamental of android
Fundamental of androidFundamental of android
Fundamental of androidAdarsh Patel
 
Workshop Android for Java Developers
Workshop Android for Java DevelopersWorkshop Android for Java Developers
Workshop Android for Java Developersmhant
 
Management Innovation
Management Innovation Management Innovation
Management Innovation Elif Boncuk
 
Lecture 06. iOS Programming. Основи Objective-C
Lecture 06. iOS Programming. Основи Objective-CLecture 06. iOS Programming. Основи Objective-C
Lecture 06. iOS Programming. Основи Objective-CMaksym Davydov
 
Android Development Workshop
Android Development WorkshopAndroid Development Workshop
Android Development WorkshopPeter Robinett
 
Workshop on How to crack interview
Workshop on How to crack interviewWorkshop on How to crack interview
Workshop on How to crack interviewAdarsh Patel
 

Andere mochten auch (20)

Workshop on Search Engine Optimization
Workshop on Search Engine OptimizationWorkshop on Search Engine Optimization
Workshop on Search Engine Optimization
 
App indexing api
App indexing apiApp indexing api
App indexing api
 
Workhsop on Logic Building for Programming
Workhsop on Logic Building for ProgrammingWorkhsop on Logic Building for Programming
Workhsop on Logic Building for Programming
 
Project Analysis - How to Start Project Develoment
Project Analysis - How to Start Project DevelomentProject Analysis - How to Start Project Develoment
Project Analysis - How to Start Project Develoment
 
Optimizing Apps for Better Performance
Optimizing Apps for Better PerformanceOptimizing Apps for Better Performance
Optimizing Apps for Better Performance
 
Optimizing apps for better performance extended
Optimizing apps for better performance extended Optimizing apps for better performance extended
Optimizing apps for better performance extended
 
Android material design lecture #2
Android material design   lecture #2Android material design   lecture #2
Android material design lecture #2
 
Hack'n Break Android Workshop
Hack'n Break Android WorkshopHack'n Break Android Workshop
Hack'n Break Android Workshop
 
Overview of DroidCon UK 2015
Overview of DroidCon UK 2015 Overview of DroidCon UK 2015
Overview of DroidCon UK 2015
 
Lecture 04. Mobile App Design
Lecture 04. Mobile App DesignLecture 04. Mobile App Design
Lecture 04. Mobile App Design
 
Android development session 3 - layout
Android development   session 3 - layoutAndroid development   session 3 - layout
Android development session 3 - layout
 
What's new in Android at I/O'16
What's new in Android at I/O'16What's new in Android at I/O'16
What's new in Android at I/O'16
 
Android development session 4 - Fragments
Android development   session 4 - FragmentsAndroid development   session 4 - Fragments
Android development session 4 - Fragments
 
Android Udacity Study group 1
Android Udacity Study group 1Android Udacity Study group 1
Android Udacity Study group 1
 
Fundamental of android
Fundamental of androidFundamental of android
Fundamental of android
 
Workshop Android for Java Developers
Workshop Android for Java DevelopersWorkshop Android for Java Developers
Workshop Android for Java Developers
 
Management Innovation
Management Innovation Management Innovation
Management Innovation
 
Lecture 06. iOS Programming. Основи Objective-C
Lecture 06. iOS Programming. Основи Objective-CLecture 06. iOS Programming. Основи Objective-C
Lecture 06. iOS Programming. Основи Objective-C
 
Android Development Workshop
Android Development WorkshopAndroid Development Workshop
Android Development Workshop
 
Workshop on How to crack interview
Workshop on How to crack interviewWorkshop on How to crack interview
Workshop on How to crack interview
 

Ähnlich wie Android design lecture #3

Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...
Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...
Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...Lviv Startup Club
 
Getting Started With Material Design
Getting Started With Material DesignGetting Started With Material Design
Getting Started With Material DesignYasin Yildirim
 
DrTAD Blender Tutorial Animation Basics - Morphing 2 objects with Shrinkwrap ...
DrTAD Blender Tutorial Animation Basics - Morphing 2 objects with Shrinkwrap ...DrTAD Blender Tutorial Animation Basics - Morphing 2 objects with Shrinkwrap ...
DrTAD Blender Tutorial Animation Basics - Morphing 2 objects with Shrinkwrap ...FIDE Master Tihomir Dovramadjiev PhD
 
Android training day 3
Android training day 3Android training day 3
Android training day 3Vivek Bhusal
 
3D Programming Basics: WebGL
3D Programming Basics: WebGL3D Programming Basics: WebGL
3D Programming Basics: WebGLGlobant
 
Intro to Dimension
Intro to DimensionIntro to Dimension
Intro to DimensionAlex Hornak
 
Lessons Learned: Designer/Developer Productivity in Windows Presentation Foun...
Lessons Learned: Designer/Developer Productivity in Windows Presentation Foun...Lessons Learned: Designer/Developer Productivity in Windows Presentation Foun...
Lessons Learned: Designer/Developer Productivity in Windows Presentation Foun...goodfriday
 
Fernando F. Gallego - Efficient Android Resources 101
Fernando F. Gallego - Efficient Android Resources 101Fernando F. Gallego - Efficient Android Resources 101
Fernando F. Gallego - Efficient Android Resources 101Fernando Gallego
 
DrTAD Blender software. Example 3. Images as Planes. Spin (3D Object). Materi...
DrTAD Blender software. Example 3. Images as Planes. Spin (3D Object). Materi...DrTAD Blender software. Example 3. Images as Planes. Spin (3D Object). Materi...
DrTAD Blender software. Example 3. Images as Planes. Spin (3D Object). Materi...FIDE Master Tihomir Dovramadjiev PhD
 
Introduction to Material Design
Introduction to Material DesignIntroduction to Material Design
Introduction to Material DesignMohammad Arman
 
Supporting multi screen in android
Supporting multi screen in androidSupporting multi screen in android
Supporting multi screen in androidrffffffff007
 
Android Apps Training - Day Four (Design)
Android Apps Training - Day Four (Design)Android Apps Training - Day Four (Design)
Android Apps Training - Day Four (Design)Anjan Shrestha
 
Introduction to 3D Printing with Tinkercad -Pustaka Negeri Sarawak
Introduction to 3D Printing with Tinkercad -Pustaka Negeri SarawakIntroduction to 3D Printing with Tinkercad -Pustaka Negeri Sarawak
Introduction to 3D Printing with Tinkercad -Pustaka Negeri SarawakVincenzoLabs
 
Material design basics
Material design basicsMaterial design basics
Material design basicsJorge Barroso
 
Mobile Applications Development (Mind riders Technology)
Mobile Applications Development (Mind riders Technology)Mobile Applications Development (Mind riders Technology)
Mobile Applications Development (Mind riders Technology)Yogesh Patil ♛
 

Ähnlich wie Android design lecture #3 (20)

Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...
Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...
Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...
 
Getting Started With Material Design
Getting Started With Material DesignGetting Started With Material Design
Getting Started With Material Design
 
Supercharge your ui
Supercharge your uiSupercharge your ui
Supercharge your ui
 
DrTAD 1 Introduction to Blender software. Interface
DrTAD 1 Introduction to Blender software. Interface DrTAD 1 Introduction to Blender software. Interface
DrTAD 1 Introduction to Blender software. Interface
 
DrTAD Blender Tutorial Animation Basics - Morphing 2 objects with Shrinkwrap ...
DrTAD Blender Tutorial Animation Basics - Morphing 2 objects with Shrinkwrap ...DrTAD Blender Tutorial Animation Basics - Morphing 2 objects with Shrinkwrap ...
DrTAD Blender Tutorial Animation Basics - Morphing 2 objects with Shrinkwrap ...
 
Android training day 3
Android training day 3Android training day 3
Android training day 3
 
3D Programming Basics: WebGL
3D Programming Basics: WebGL3D Programming Basics: WebGL
3D Programming Basics: WebGL
 
Intro to Dimension
Intro to DimensionIntro to Dimension
Intro to Dimension
 
Lessons Learned: Designer/Developer Productivity in Windows Presentation Foun...
Lessons Learned: Designer/Developer Productivity in Windows Presentation Foun...Lessons Learned: Designer/Developer Productivity in Windows Presentation Foun...
Lessons Learned: Designer/Developer Productivity in Windows Presentation Foun...
 
Fernando F. Gallego - Efficient Android Resources 101
Fernando F. Gallego - Efficient Android Resources 101Fernando F. Gallego - Efficient Android Resources 101
Fernando F. Gallego - Efficient Android Resources 101
 
DrTAD Blender software. Example 3. Images as Planes. Spin (3D Object). Materi...
DrTAD Blender software. Example 3. Images as Planes. Spin (3D Object). Materi...DrTAD Blender software. Example 3. Images as Planes. Spin (3D Object). Materi...
DrTAD Blender software. Example 3. Images as Planes. Spin (3D Object). Materi...
 
3.2 ws WMS.pdf
3.2 ws WMS.pdf3.2 ws WMS.pdf
3.2 ws WMS.pdf
 
Introduction to Material Design
Introduction to Material DesignIntroduction to Material Design
Introduction to Material Design
 
Supporting multi screen in android
Supporting multi screen in androidSupporting multi screen in android
Supporting multi screen in android
 
Android Apps Training - Day Four (Design)
Android Apps Training - Day Four (Design)Android Apps Training - Day Four (Design)
Android Apps Training - Day Four (Design)
 
Introduction to 3D Printing with Tinkercad -Pustaka Negeri Sarawak
Introduction to 3D Printing with Tinkercad -Pustaka Negeri SarawakIntroduction to 3D Printing with Tinkercad -Pustaka Negeri Sarawak
Introduction to 3D Printing with Tinkercad -Pustaka Negeri Sarawak
 
Material design basics
Material design basicsMaterial design basics
Material design basics
 
DrTAD Blender Tutorial Animation Basics - Keys - Movement
DrTAD Blender Tutorial Animation Basics - Keys - MovementDrTAD Blender Tutorial Animation Basics - Keys - Movement
DrTAD Blender Tutorial Animation Basics - Keys - Movement
 
DrTAD Blender Tutorial Animation Basics - Change Object Color
DrTAD Blender Tutorial Animation Basics - Change Object ColorDrTAD Blender Tutorial Animation Basics - Change Object Color
DrTAD Blender Tutorial Animation Basics - Change Object Color
 
Mobile Applications Development (Mind riders Technology)
Mobile Applications Development (Mind riders Technology)Mobile Applications Development (Mind riders Technology)
Mobile Applications Development (Mind riders Technology)
 

Mehr von Vitali Pekelis

Droidkaigi2019thagikura 190208135940
Droidkaigi2019thagikura 190208135940Droidkaigi2019thagikura 190208135940
Droidkaigi2019thagikura 190208135940Vitali Pekelis
 
Google i o &amp; android q changes 2019
Google i o &amp; android q changes 2019Google i o &amp; android q changes 2019
Google i o &amp; android q changes 2019Vitali Pekelis
 
Advanced #6 clean architecture
Advanced #6  clean architectureAdvanced #6  clean architecture
Advanced #6 clean architectureVitali Pekelis
 
Advanced #4 GPU & Animations
Advanced #4   GPU & AnimationsAdvanced #4   GPU & Animations
Advanced #4 GPU & AnimationsVitali Pekelis
 
Advanced #2 networking
Advanced #2   networkingAdvanced #2   networking
Advanced #2 networkingVitali Pekelis
 
Advanced #1 cpu, memory
Advanced #1   cpu, memoryAdvanced #1   cpu, memory
Advanced #1 cpu, memoryVitali Pekelis
 
All the support you need. Support libs in Android
All the support you need. Support libs in AndroidAll the support you need. Support libs in Android
All the support you need. Support libs in AndroidVitali Pekelis
 
How to build Sdk? Best practices
How to build Sdk? Best practicesHow to build Sdk? Best practices
How to build Sdk? Best practicesVitali Pekelis
 
Android design patterns
Android design patternsAndroid design patterns
Android design patternsVitali Pekelis
 
Advanced #3 threading
Advanced #3  threading Advanced #3  threading
Advanced #3 threading Vitali Pekelis
 
Mobile ui fruit or delicious sweets
Mobile ui  fruit or delicious sweetsMobile ui  fruit or delicious sweets
Mobile ui fruit or delicious sweetsVitali Pekelis
 
Lecture #4 c loaders and co.
Lecture #4 c   loaders and co.Lecture #4 c   loaders and co.
Lecture #4 c loaders and co.Vitali Pekelis
 
Session #4 b content providers
Session #4 b  content providersSession #4 b  content providers
Session #4 b content providersVitali Pekelis
 
Advanced #2 - ui perf
 Advanced #2 - ui perf Advanced #2 - ui perf
Advanced #2 - ui perfVitali Pekelis
 
Session #7 rich and responsive layouts
Session #7  rich and responsive layoutsSession #7  rich and responsive layouts
Session #7 rich and responsive layoutsVitali Pekelis
 

Mehr von Vitali Pekelis (20)

Droidkaigi2019thagikura 190208135940
Droidkaigi2019thagikura 190208135940Droidkaigi2019thagikura 190208135940
Droidkaigi2019thagikura 190208135940
 
Droidkaigi 2019
Droidkaigi 2019Droidkaigi 2019
Droidkaigi 2019
 
Google i o &amp; android q changes 2019
Google i o &amp; android q changes 2019Google i o &amp; android q changes 2019
Google i o &amp; android q changes 2019
 
Android Q 2019
Android Q 2019Android Q 2019
Android Q 2019
 
Advanced #6 clean architecture
Advanced #6  clean architectureAdvanced #6  clean architecture
Advanced #6 clean architecture
 
Advanced #4 GPU & Animations
Advanced #4   GPU & AnimationsAdvanced #4   GPU & Animations
Advanced #4 GPU & Animations
 
Advanced #2 networking
Advanced #2   networkingAdvanced #2   networking
Advanced #2 networking
 
Advanced #2 threading
Advanced #2   threadingAdvanced #2   threading
Advanced #2 threading
 
Advanced #1 cpu, memory
Advanced #1   cpu, memoryAdvanced #1   cpu, memory
Advanced #1 cpu, memory
 
All the support you need. Support libs in Android
All the support you need. Support libs in AndroidAll the support you need. Support libs in Android
All the support you need. Support libs in Android
 
How to build Sdk? Best practices
How to build Sdk? Best practicesHow to build Sdk? Best practices
How to build Sdk? Best practices
 
Di &amp; dagger
Di &amp; daggerDi &amp; dagger
Di &amp; dagger
 
Android design patterns
Android design patternsAndroid design patterns
Android design patterns
 
Advanced #3 threading
Advanced #3  threading Advanced #3  threading
Advanced #3 threading
 
Mobile ui fruit or delicious sweets
Mobile ui  fruit or delicious sweetsMobile ui  fruit or delicious sweets
Mobile ui fruit or delicious sweets
 
Lecture #4 c loaders and co.
Lecture #4 c   loaders and co.Lecture #4 c   loaders and co.
Lecture #4 c loaders and co.
 
Session #4 b content providers
Session #4 b  content providersSession #4 b  content providers
Session #4 b content providers
 
Advanced #2 - ui perf
 Advanced #2 - ui perf Advanced #2 - ui perf
Advanced #2 - ui perf
 
Android meetup
Android meetupAndroid meetup
Android meetup
 
Session #7 rich and responsive layouts
Session #7  rich and responsive layoutsSession #7  rich and responsive layouts
Session #7 rich and responsive layouts
 

Kürzlich hochgeladen

Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 

Kürzlich hochgeladen (20)

Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 

Android design lecture #3

Hinweis der Redaktion

  1. http://www.marketingprofs.com/opinions/2014/25808/five-ways-color-affects-brand-development http://www.mediafox.com.au/colour-increases-brand-recognition-by-up-to-80-percent/ https://www.quicksprout.com/the-complete-guide-to-understand-customer-psychology-chapter-4/
  2. https://medium.com/google-developers/theming-with-appcompat-1a292b754b35#.zgcvvb3ds https://developer.android.com/training/material/theme.html
  3. https://developer.android.com/training/material/theme.html#Inheritance
  4. http://developer.android.com/reference/android/support/v7/graphics/Palette.html
  5. https://developer.android.com/studio/write/draw9patch.html
  6. http://developer.android.com/reference/android/widget/ImageView.ScaleType.html https://github.com/udacity/ud862-samples/tree/master/ImmersiveImages
  7. http://developer.android.com/reference/android/widget/ImageView.ScaleType.html https://github.com/udacity/ud862-samples/tree/master/ImmersiveImages
  8. https://developer.android.com/reference/android/support/v4/graphics/drawable/RoundedBitmapDrawable.html
  9. mhttps://design.google.com/icons/ https://www.google.com/design/spec/style/icons.html http://materialdesignicons.com/ https://www.google.com/design/spec/style/icons.html#icons-system-icons
  10. https://developer.android.com/reference/android/graphics/drawable/StateListDrawable.html
  11. https://github.com/google/android-ui-toolkit-demos
  12. https://www.youtube.com/watch?v=s0HIP8EdlnE&feature=youtu.be
  13. http://developer.android.com/design/get-started/principles.html#enchant-me
  14. http://developer.android.com/design/get-started/principles.html#enchant-me
  15. tinting
  16. google now cards, search view
  17. google now cards, search view
  18. add facebook likes.
  19. icons : length of words on ui
  20. https://storage.googleapis.com/think-emea/docs/article/Mobile_App_UX_Principles.pdf
  21. insert image edit : auto edit, and easy to use filters
  22. humor
  23. lead to next action (ux funnel)
  24. lead to next action (ux funnel)
  25. lead to next action (ux funnel)
  26. lead to next action (ux funnel)