SlideShare a Scribd company logo
1 of 22
Download to read offline
Styles and Themes
       -   presentation -




    by Mihaela Calinescu & Emilia Dobrin
CUPRINS
•   Styles
    o   Ce reprezintă
    o   Definire şi moştenire
    o   Proprietăţi
•   Themes
    o   Ce reprezintă
    o   Declarare, moştenire
    o   Setarea temei
•   Exemple
Styles
• Ce reprezintă un style in Android?
 Un style este o colecţie de proprietăţi care
 specifică aspectul si formatul unui View sau
 ale unei ferestre. De exemplu un style poate
 specifica proprietăţi precum :
    - height
    - padding
    - font color
    - font size
    - background color
    - si multe altele.
• Cum definim şi cum folosim un
                     style?


Un style este definit într-un XML resource care
 este diferit de XML-ul care specifică layout-ul.
 Acesta te ajută să separi design-ul de
 conţinut (analog css-ului - cascade
 spreadsheet- în web design)
De exemplu, folosind un style putem lua acest
 XML layout




pe care îl putem transforma în
Pentru a crea un set se stiluri, se salvează un
 XML file în folderul res/values/ din proiect.
Root node-ul fisierului .xml creat va fi
 <resources>. It's a must!
Un exemplu de fişier cu un singur style ar fi
 următorul:
Style properties
De exemplu, unul dintre atribute este android:inputType.
  Aşa că, acolo unde in mod normal ai poziţiona acest
  atribut într-un element <EditText>:




am putea crea un style pentru EditText element care să
  includă acest atribut :




deci xml-ul nostru poate acum implementa acest style:
Themes
Ce reprezintă o temă in Android?
• O temă este un set de proprietăţi de
  formatare care pot fi aplicate ca unitate pe un
  activity sau pe întreaga aplicaţie.

• Temele din Android sunt <resources>

• Există teme default

• Pot fi create teme customizate
Cum declarăm o temă?
•Asemănător stilurilor, într-un <style> element
•Exemplu:
Ştiaţi că . . .
... puteţi folosi referinţa la o resursă prin item
   name folosind unul din simbolurile "@", "?"
   ?

•   @ este folosit pentru referinţe definite in alt
    fişier din cadrul proiectului sau din Android
    framework
•   ? este folosit pentru referinţe la elemente din
    acelaşi fişier
•   sunt folosite doar in fişierele XML
Moştenire
•   Atât stilurile, cât şi temele, pot moşteni unele
    existente, cu scopul de a modifica anumite
    caracteristici sau pentru a adăuga proprietăţi
    noi.
•   Cum facem asta?
    o   folosind "parent"
•   Putem, de asemenea, moşteni un stil sau o
    temă din cele create chiar de noi.
      Pentru aceasta putem folosi elementul "."
      Cum?




•   Aici am mostenit stilul CodeFont si i-am
    atribuit o noua proprietate, culoarea textului
    (rosu).
Putem face asta de oricâte ori, atribuind
 stilurilor/temelor părinte noi proprietăţi, prin
 simpla separare a numelor cu caracterul "."
Moştenire la Themes
•   De ce trebuie sa ţinem cont?

    o   Compatibilitate între device-uri !!!


•   Putem folosi teme holografice (Holo) pentru
    aplicaţiile care rulează pe Android 3.0 (sau
    mai mult) - API Level 11
•   Trebuie să specificăm tipul de temă folosit
    prin adăugarea declaraţiei acesteia şi în
    folderul special creat pentru Android 3.0 +
      /res/values-v11, in fişierul themes.xml.

•   Vom folosi varianta Holo a temei din
    Android.

•   În funcţie de versiunea de Android folosita,
    dispozitivul îşi va selecta tema, daca
    aceasta a fost declarată în ambele fişiere.
Exemplu:
• /res/values/themes.xml




•   /res/values-v11/themes.xml
Setarea unei teme
•   Modificăm AndroidManifest.xml

    o  pentru setarea temei pe întreaga aplicaţie:
<application android:theme="@style/CustomTheme">

    •  pentru setarea temei pe un activity al aplicaţiei:
<activity android:theme="@android:style/Theme.Dialog">
•       Sau aplicăm tema direct din cod.

•       Trebuie ţinut cont că acest lucru trebuie
        făcut înainte de orice instanţiere de View în
        context
        o   de exemplu înainte de setContentView(View) şi
            inflate(int, ViewGroup)


            protected void onCreate(Bundle savedInstanceState)
    {
              super.onCreate(savedInstanceState);
              ...
              setTheme(android.R.style.Theme_Light);
              setContentView(R.layout.linear_layout_3);
Surse de inspiraţie
•   http://developer.android.com/guide/topics/ui/themes.htm
    l

•   http://www.linuxtopia.org/online_books/android/devguid
    e/guide/topics/ui/themes.html

•   http://brainflush.wordpress.com/2009/03/15/understandi
    ng-android-themes-and-styles/

•   http://www.androidengineer.com/2010/06/using-themes-
    in-android-applications.html
Vă mulţumim pentru atenţie!

More Related Content

Viewers also liked

קורס אנדרואיד
קורס אנדרואידקורס אנדרואיד
קורס אנדרואידNathan Krasney
 
Best Practices for Android UI by RapidValue Solutions
Best Practices for Android UI by RapidValue SolutionsBest Practices for Android UI by RapidValue Solutions
Best Practices for Android UI by RapidValue SolutionsRapidValue
 
Basic Android Animation
Basic Android Animation Basic Android Animation
Basic Android Animation Shilu Shrestha
 
Android animation
Android animationAndroid animation
Android animationKrazy Koder
 
Android Training (Animation)
Android Training (Animation)Android Training (Animation)
Android Training (Animation)Khaled Anaqwa
 
Android ui layout
Android ui layoutAndroid ui layout
Android ui layoutKrazy Koder
 
Android technology and Information with Presentation Project.
Android technology and Information with Presentation Project.Android technology and Information with Presentation Project.
Android technology and Information with Presentation Project.TG Rajesh
 
Android animations
Android animationsAndroid animations
Android animationsKumar
 
android technology presentation
android technology presentationandroid technology presentation
android technology presentationNishul Tomar
 
My presentation on Android in my college
My presentation on Android in my collegeMy presentation on Android in my college
My presentation on Android in my collegeSneha Lata
 
What is Android OS in ppt ?
What is Android OS in ppt ? What is Android OS in ppt ?
What is Android OS in ppt ? SoonTips.com
 
Android OS Presentation
Android OS PresentationAndroid OS Presentation
Android OS Presentationhession25819
 
Presentation on Android operating system
Presentation on Android operating systemPresentation on Android operating system
Presentation on Android operating systemSalma Begum
 
Android seminar-presentation
Android seminar-presentationAndroid seminar-presentation
Android seminar-presentationconnectshilpa
 

Viewers also liked (18)

קורס אנדרואיד
קורס אנדרואידקורס אנדרואיד
קורס אנדרואיד
 
Best Practices for Android UI by RapidValue Solutions
Best Practices for Android UI by RapidValue SolutionsBest Practices for Android UI by RapidValue Solutions
Best Practices for Android UI by RapidValue Solutions
 
Android animation theory
Android animation theoryAndroid animation theory
Android animation theory
 
Basic Android Animation
Basic Android Animation Basic Android Animation
Basic Android Animation
 
Android animation
Android animationAndroid animation
Android animation
 
Android Training (Animation)
Android Training (Animation)Android Training (Animation)
Android Training (Animation)
 
Android ui layout
Android ui layoutAndroid ui layout
Android ui layout
 
Android technology and Information with Presentation Project.
Android technology and Information with Presentation Project.Android technology and Information with Presentation Project.
Android technology and Information with Presentation Project.
 
Android animations
Android animationsAndroid animations
Android animations
 
android technology presentation
android technology presentationandroid technology presentation
android technology presentation
 
Android UI Design Tips
Android UI Design TipsAndroid UI Design Tips
Android UI Design Tips
 
My presentation on Android in my college
My presentation on Android in my collegeMy presentation on Android in my college
My presentation on Android in my college
 
What is Android OS in ppt ?
What is Android OS in ppt ? What is Android OS in ppt ?
What is Android OS in ppt ?
 
Android OS Presentation
Android OS PresentationAndroid OS Presentation
Android OS Presentation
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Presentation on Android operating system
Presentation on Android operating systemPresentation on Android operating system
Presentation on Android operating system
 
Android seminar-presentation
Android seminar-presentationAndroid seminar-presentation
Android seminar-presentation
 
Android ppt
Android ppt Android ppt
Android ppt
 

Similar to Themes and Styles in Android

Drupal Basics
Drupal BasicsDrupal Basics
Drupal BasicsAG Prime
 
Drupal themes
Drupal themesDrupal themes
Drupal themesAG Prime
 
Perechea_1 ro.pdf
Perechea_1 ro.pdfPerechea_1 ro.pdf
Perechea_1 ro.pdfOxanaRabei1
 
Modelarea datelor via XML. Design patterns in contextul specificarii document...
Modelarea datelor via XML. Design patterns in contextul specificarii document...Modelarea datelor via XML. Design patterns in contextul specificarii document...
Modelarea datelor via XML. Design patterns in contextul specificarii document...Sabin Buraga
 
XML Design Patterns
XML Design PatternsXML Design Patterns
XML Design PatternsSabin Buraga
 
Web Storage Performance
Web Storage PerformanceWeb Storage Performance
Web Storage PerformanceMihai Valache
 
Graduation projects in Crispico
Graduation projects in CrispicoGraduation projects in Crispico
Graduation projects in Crispicostagiipebune
 
Studiu Comparativ Privind API-urile de Procesare RDF Inplementate in PHP
Studiu Comparativ Privind API-urile de Procesare RDF Inplementate in PHPStudiu Comparativ Privind API-urile de Procesare RDF Inplementate in PHP
Studiu Comparativ Privind API-urile de Procesare RDF Inplementate in PHPaledi
 
[Curs Android] C09 - Stocarea Datelor (IPW 2011)
[Curs Android] C09 - Stocarea Datelor (IPW 2011)[Curs Android] C09 - Stocarea Datelor (IPW 2011)
[Curs Android] C09 - Stocarea Datelor (IPW 2011)Vlad Petre
 

Similar to Themes and Styles in Android (13)

Drupal Basics
Drupal BasicsDrupal Basics
Drupal Basics
 
Drupal themes
Drupal themesDrupal themes
Drupal themes
 
Mandache sorin
Mandache sorinMandache sorin
Mandache sorin
 
Perechea_1 ro.pdf
Perechea_1 ro.pdfPerechea_1 ro.pdf
Perechea_1 ro.pdf
 
005. html5 si canvas
005. html5 si canvas005. html5 si canvas
005. html5 si canvas
 
Modelarea datelor via XML. Design patterns in contextul specificarii document...
Modelarea datelor via XML. Design patterns in contextul specificarii document...Modelarea datelor via XML. Design patterns in contextul specificarii document...
Modelarea datelor via XML. Design patterns in contextul specificarii document...
 
XML Design Patterns
XML Design PatternsXML Design Patterns
XML Design Patterns
 
Mandache Sorin
Mandache SorinMandache Sorin
Mandache Sorin
 
Web Storage Performance
Web Storage PerformanceWeb Storage Performance
Web Storage Performance
 
Graduation projects in Crispico
Graduation projects in CrispicoGraduation projects in Crispico
Graduation projects in Crispico
 
Studiu Comparativ Privind API-urile de Procesare RDF Inplementate in PHP
Studiu Comparativ Privind API-urile de Procesare RDF Inplementate in PHPStudiu Comparativ Privind API-urile de Procesare RDF Inplementate in PHP
Studiu Comparativ Privind API-urile de Procesare RDF Inplementate in PHP
 
[Curs Android] C09 - Stocarea Datelor (IPW 2011)
[Curs Android] C09 - Stocarea Datelor (IPW 2011)[Curs Android] C09 - Stocarea Datelor (IPW 2011)
[Curs Android] C09 - Stocarea Datelor (IPW 2011)
 
M3 word 2007
M3 word 2007M3 word 2007
M3 word 2007
 

Themes and Styles in Android

  • 1. Styles and Themes - presentation - by Mihaela Calinescu & Emilia Dobrin
  • 2. CUPRINS • Styles o Ce reprezintă o Definire şi moştenire o Proprietăţi • Themes o Ce reprezintă o Declarare, moştenire o Setarea temei • Exemple
  • 4. • Ce reprezintă un style in Android? Un style este o colecţie de proprietăţi care specifică aspectul si formatul unui View sau ale unei ferestre. De exemplu un style poate specifica proprietăţi precum : - height - padding - font color - font size - background color - si multe altele.
  • 5. • Cum definim şi cum folosim un style? Un style este definit într-un XML resource care este diferit de XML-ul care specifică layout-ul. Acesta te ajută să separi design-ul de conţinut (analog css-ului - cascade spreadsheet- în web design)
  • 6. De exemplu, folosind un style putem lua acest XML layout pe care îl putem transforma în
  • 7. Pentru a crea un set se stiluri, se salvează un XML file în folderul res/values/ din proiect. Root node-ul fisierului .xml creat va fi <resources>. It's a must! Un exemplu de fişier cu un singur style ar fi următorul:
  • 8. Style properties De exemplu, unul dintre atribute este android:inputType. Aşa că, acolo unde in mod normal ai poziţiona acest atribut într-un element <EditText>: am putea crea un style pentru EditText element care să includă acest atribut : deci xml-ul nostru poate acum implementa acest style:
  • 10. Ce reprezintă o temă in Android? • O temă este un set de proprietăţi de formatare care pot fi aplicate ca unitate pe un activity sau pe întreaga aplicaţie. • Temele din Android sunt <resources> • Există teme default • Pot fi create teme customizate
  • 11. Cum declarăm o temă? •Asemănător stilurilor, într-un <style> element •Exemplu:
  • 12. Ştiaţi că . . . ... puteţi folosi referinţa la o resursă prin item name folosind unul din simbolurile "@", "?" ? • @ este folosit pentru referinţe definite in alt fişier din cadrul proiectului sau din Android framework • ? este folosit pentru referinţe la elemente din acelaşi fişier • sunt folosite doar in fişierele XML
  • 13. Moştenire • Atât stilurile, cât şi temele, pot moşteni unele existente, cu scopul de a modifica anumite caracteristici sau pentru a adăuga proprietăţi noi. • Cum facem asta? o folosind "parent"
  • 14. Putem, de asemenea, moşteni un stil sau o temă din cele create chiar de noi. Pentru aceasta putem folosi elementul "." Cum? • Aici am mostenit stilul CodeFont si i-am atribuit o noua proprietate, culoarea textului (rosu).
  • 15. Putem face asta de oricâte ori, atribuind stilurilor/temelor părinte noi proprietăţi, prin simpla separare a numelor cu caracterul "."
  • 16. Moştenire la Themes • De ce trebuie sa ţinem cont? o Compatibilitate între device-uri !!! • Putem folosi teme holografice (Holo) pentru aplicaţiile care rulează pe Android 3.0 (sau mai mult) - API Level 11
  • 17. Trebuie să specificăm tipul de temă folosit prin adăugarea declaraţiei acesteia şi în folderul special creat pentru Android 3.0 + /res/values-v11, in fişierul themes.xml. • Vom folosi varianta Holo a temei din Android. • În funcţie de versiunea de Android folosita, dispozitivul îşi va selecta tema, daca aceasta a fost declarată în ambele fişiere.
  • 18. Exemplu: • /res/values/themes.xml • /res/values-v11/themes.xml
  • 19. Setarea unei teme • Modificăm AndroidManifest.xml o pentru setarea temei pe întreaga aplicaţie: <application android:theme="@style/CustomTheme"> • pentru setarea temei pe un activity al aplicaţiei: <activity android:theme="@android:style/Theme.Dialog">
  • 20. Sau aplicăm tema direct din cod. • Trebuie ţinut cont că acest lucru trebuie făcut înainte de orice instanţiere de View în context o de exemplu înainte de setContentView(View) şi inflate(int, ViewGroup) protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... setTheme(android.R.style.Theme_Light); setContentView(R.layout.linear_layout_3);
  • 21. Surse de inspiraţie • http://developer.android.com/guide/topics/ui/themes.htm l • http://www.linuxtopia.org/online_books/android/devguid e/guide/topics/ui/themes.html • http://brainflush.wordpress.com/2009/03/15/understandi ng-android-themes-and-styles/ • http://www.androidengineer.com/2010/06/using-themes- in-android-applications.html
  • 22. Vă mulţumim pentru atenţie!