SlideShare uma empresa Scribd logo
1 de 52
Customizing the
Look of Mobile
Flex
Agenda
•   Design Considerations
•   CSS vs Skinning
•   Introduction to Skinning
•   Conclusions
DESIGN CONSIDERATIONS
Work with
a designer
640x920
Start as
High
Resolution
as possible
Scale Down
• Custom graphics
              look like crap if you
              design for too small
              a screen.
            • But smaller DPI
Deal with     devices are usually
              less powerful
DPI           meaning pushing
              around larger
              images is
              ineffiecient
• Get PSD
               • Pull into to
                 Fireworks
               • Use Fireworks to
                 export pngs and
Dealing with     jpgs.
PSD’s
SKIN VS CSS
CSS
• Font Changes
  – Family
  – Color
  – Size
• Flex UI Changes
  – Color
  – Flex CSS Properties
Skinning
• Changing Behavior
• Radical change in look and feel
• Implementation of custom graphics
CONCEPTS
Performance is
key
ActionScript
Components
Perform Best
Almost all of
your skins will
be ActionScript
    Skins
What I use CSS for
• As much font selection as possible
• Class specifications
Why?
setStyle is
 relatively
expensive
SKIN LIFECYCLE
Important Methods
• Constructor
  – Very beginning
  – No Children available
  – Good for manipulating “this” and setting variables
• onChildrenCreate
  – After everything is done setting up
  – Good for set once display properties
• layoutContents
  – After any thing that requires a redistribution of
    elements
  – Good for reacting to location and content
    changes
Final Thought
Before we get
     into
Components
I break every
best practice
CLASSES YOU NEED TO
KNOW
StylableTextField
•   Lightweight
•   Can be Styled
•   Can used for editable and static text
•   It can’t be used in MXML markup though
BitmapImage
• Lightweight image component
• Doesn’t have ability to load dynamic
  content… yet.
• This is fine, skin assets should be
  embedded
• Fast performing
SkinableComponent
• Like a Group, but you can skin it.
IconItemRenderer
• High performance renderer
• Handles a lot of cases.
• Can be extended.
WORKING WITH
COMPONENTS
Starting
Finishing
APPLICATION
Compare
Skinning Application
Assigning a Skin in CSS
s|ViewNavigatorApplication{
    skinClass: ClassReference("skins.AppSkin");
}
Why
• Prevents you from cluttering up Flex with
  presentational information
Dealing with DPI
switch (applicationDPI)
{
    case 320:
    {
        break;
    }
    case 240:
    {
        break;
    }
    default:
    {
        break;
    }
}
WORKING WITH FONTS
Font Recap
• There are 2 font rendering engines in
  Flash
• This means 2 ways of embedding fonts
  – TLF
  – NonTLF
• Most Mobile components use NonTLF
• Label uses TLF
Consequence
• You have to embed both TLF and NonTLF
  fonts
• You can do this with Metadata
• I’ve never done it that way
• Because Flash Professional makes this
  very easy
Embedding fonts with
Flash Professional
BUTTON
Compare
Skinning Button
CONCLUSIONS
BEAUTY
Why care about
  beauty?
Beauty is the difference
between
Apps people have to use   Apps people want to use
Beauty is the difference
between
Apps people have to use   Apps people want to use
Finicky
Typical Process
•   Do as much in css as possible
•   Drop to skins
•   Remove the background
•   Slap in graphics
•   Account for DPI
•   Account for redraws
Good resources
• Deep Dive Into Flex Mobile Item Renderers
  – http://www.slideshare.net/JasonHanson/deep-
    dive-into-flex-mobile-item-renderers-7501594
• Jason San Jose
  – http://www.adobe.com/devnet/flex/articles/mobile-
    skinning-part1.html
  – http://www.adobe.com/devnet/flex/articles/mobile-
    skinning-part2.html
  – http://www.adobe.com/devnet/flex/articles/mobile-
    skinning-part3.html
• Holly Schinsky
  – http://devgirl.org/2011/05/09/styling-the-flex-4-5-
    mobile-application-tabs-and-actionbar/
Follow up?
• Feel free to contact me
  – terry.ryan@adobe.com
  – http://terrenceryan.com
  – Twitter: @tpryan

Mais conteúdo relacionado

Mais de Terry Ryan

Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5
Terry Ryan
 
cf.Objective ANZ Keynote
cf.Objective ANZ Keynotecf.Objective ANZ Keynote
cf.Objective ANZ Keynote
Terry Ryan
 
HTML5 Semantic Web
HTML5 Semantic WebHTML5 Semantic Web
HTML5 Semantic Web
Terry Ryan
 
Driving Technical Change
Driving Technical ChangeDriving Technical Change
Driving Technical Change
Terry Ryan
 

Mais de Terry Ryan (20)

The Future of HTML5 Motion Design
 The Future of HTML5 Motion Design The Future of HTML5 Motion Design
The Future of HTML5 Motion Design
 
Adobe and Modern Web Development
Adobe and Modern Web DevelopmentAdobe and Modern Web Development
Adobe and Modern Web Development
 
Semantic HTML5
Semantic HTML5Semantic HTML5
Semantic HTML5
 
The Future of HTML Motion Design
The Future of HTML Motion DesignThe Future of HTML Motion Design
The Future of HTML Motion Design
 
Skip the IDE with PhoneGap Build
Skip the IDE with PhoneGap BuildSkip the IDE with PhoneGap Build
Skip the IDE with PhoneGap Build
 
D2WC Keynote
D2WC KeynoteD2WC Keynote
D2WC Keynote
 
WebDU Keynote
WebDU KeynoteWebDU Keynote
WebDU Keynote
 
Beautiful PhoneGap Apps
Beautiful PhoneGap AppsBeautiful PhoneGap Apps
Beautiful PhoneGap Apps
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5
 
Adobe & HTML5
Adobe & HTML5Adobe & HTML5
Adobe & HTML5
 
Mobile Apps with PhoneGap and jQuery Mobile
Mobile Apps with PhoneGap and jQuery MobileMobile Apps with PhoneGap and jQuery Mobile
Mobile Apps with PhoneGap and jQuery Mobile
 
Design for Developers
Design for DevelopersDesign for Developers
Design for Developers
 
cf.Objective ANZ Keynote
cf.Objective ANZ Keynotecf.Objective ANZ Keynote
cf.Objective ANZ Keynote
 
Flex Mobile Skinning Workshop
Flex Mobile Skinning WorkshopFlex Mobile Skinning Workshop
Flex Mobile Skinning Workshop
 
HTML5 Semantic Web
HTML5 Semantic WebHTML5 Semantic Web
HTML5 Semantic Web
 
Intro to Coldfusion
Intro to ColdfusionIntro to Coldfusion
Intro to Coldfusion
 
Driving Technical Change
Driving Technical ChangeDriving Technical Change
Driving Technical Change
 
Mobile Apps with ColdFusion
Mobile Apps with ColdFusionMobile Apps with ColdFusion
Mobile Apps with ColdFusion
 
Developing for Xoom with Flash and AIR
Developing for Xoom with Flash and AIRDeveloping for Xoom with Flash and AIR
Developing for Xoom with Flash and AIR
 
Developing Apps for the BlackBerry PlayBook
Developing Apps for the BlackBerry PlayBook Developing Apps for the BlackBerry PlayBook
Developing Apps for the BlackBerry PlayBook
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Último (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

Customizing the Look of Mobile Flex