• Save
Embellish
Upcoming SlideShare
Loading in...5
×
 

Embellish

on

  • 2,830 views

Some categories of the Android Market seem to provide an almost endless choice of applications and standing out there requires more than just having the right mix of features....

Some categories of the Android Market seem to provide an almost endless choice of applications and standing out there requires more than just having the right mix of features.
This talk will provide ideas, tips, and code samples for making Android User interfaces more intuitive, attractive, and fun to use.

Statistics

Views

Total Views
2,830
Views on SlideShare
1,024
Embed Views
1,806

Actions

Likes
1
Downloads
0
Comments
0

6 Embeds 1,806

http://wolfpaulus.com 1795
http://www.linkedin.com 4
http://translate.googleusercontent.com 3
http://www.google.ca 2
http://webcache.googleusercontent.com 1
http://www.google.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Embellish Embellish Presentation Transcript

  • Embell"hyour ANDROID Application Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • Text OpenSource Founder: SwixML Committer: HessDroidCopyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • Pimp my Droid A# Main Application Screen Custom Themes Custom Fonts AnimationsCopyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • 320x240 320x480 480x854 low dpi medium dpi high dpiCopyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • 320x240 320x480 480x854 low dpi medium high dpi dpiCopyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • Same image renders bigger on low dpi Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • 320x240 320x480 480x854 low dpi medium dpi high dpiCopyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • forcing vertical layout.. per Activity in the AndroidManifest.xml<activity ... android:screenOrientation="portrait"> Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • forcing vertical layout AndroidManifest.xml<activity android:name=".main" android:label="@string/app_name" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden" > main.java@Overridepublic void onConfigurationChanged(Configuration newConf) { super.onConfigurationChanged(newConf);} Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • Dalvik Debug Monitor $ ddms Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • hiding the statusbarApplication Wide in AndroidManifest.xml<application ... android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:debuggable="true">Per Activity in AndroidManifest.xml<activity ... android:theme="@android:style/Theme.NoTitleBar.Fullscreen">But if using themes, then add it to your own Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • hiding the statusbarvalues/styles.xml<resources> <style name="Embellish" parent="android:Theme.Light.NoTitleBar"> <item name="android:windowNoTitle">true</item> </style></resources>AndroidManifest.xml<activity android:name=".MainActivity" android:theme="@style/Embellish"> ..</activity> Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • •Logo Image •Divider •App wide action Button1 •Divider •App wide action Button2 •8 Main Menu ItemsCopyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • •Logo Image •Divider •App wide action Button1 •Divider •App wide action Button2 •3 Main Menu Items •Active items show drop- shadow when clickedCopyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • code ...Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • Dynamic Drop ShadowfindViewById(R.id.Btn_1).setOnClickListener(this);..public void onClick(View view) { final ImageView iv = (ImageView) view; final BitmapDrawable d = (BitmapDrawable) iv.getDrawable(); d.getPaint().setShadowLayer(150f, 6f, 8f, 0xFF000000); d.invalidateSelf(); // removing the shadow again, after a short while new Handler().postDelayed(new Runnable() { public void run() { d.getPaint().clearShadowLayer(); d.invalidateSelf(); } }, 1500); ...} Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • Dynamic Drop ShadowfindViewById(R.id.Btn_1).setOnClickListener(this);.. public class Paint :public void onClick(View view) { final ImageView iv = (ImageView) view; public void setShadowLayer final BitmapDrawable d = (BitmapDrawable) iv.getDrawable(); d.getPaint().setShadowLayer(150f, 6f,dx, float dy, int color) (float radius, float 8f, 0xFF000000); d.invalidateSelf(); // removing the shadow again, after a short while This draws a shadow layer below the main layer, new with the specified offset and color, and blur radius. Handler().postDelayed(new Runnable() { public void is 0, then the shadow layer is removed. If radius run() { d.getPaint().clearShadowLayer(); d.invalidateSelf(); } }, 1500); ...} Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • Dynamic Drop ShadowfindViewById(R.id.Btn_1).setOnClickListener(this);..public void onClick(View view) { final ImageView iv = (ImageView) view; final BitmapDrawable d = (BitmapDrawable) iv.getDrawable(); d.getPaint().setShadowLayer(150f, 6f, 8f, 0xFF000000); d.invalidateSelf(); // removing the shadow again, after a short while new Handler().postDelayed(new Runnable() { public void run() { d.getPaint().clearShadowLayer(); d.invalidateSelf(); } }, 1500); ...} Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • change default Button ColorDefault Default CustomButton Button ButtonDroidX DroidCopyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • change default Button ColorfindViewById(R.id.btn_printer) .getBackground() .setColorFilter( 0xAA00CCFF, PorterDuff.Mode.MULTIPLY); Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • adding custom Fonts• Create assets/fonts folder• store font-files in fonts folder e.g. droid.ttf• find view• set font at runtime Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • adding custom FontsTypeface fnt = Typeface.createFromAsset( getAssets(), "fonts/droid.ttf");setContentView(R.layout.photoview);Button btn = (Button) findViewById(R.id.close)btn.setTypeface(fnt); Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • layout animationCopyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • code ...Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • fade in/out & blurCopyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • code ... Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • © 2011 Wolf Paulus http://wolfpaulus.com Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved. Copyright © 2011-2012, Wolf
  • http://wolfpaulus.com/journal/ android-journal/iprintphoto/Copyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.
  • Thanks for coming http://wolfpaulus.comCopyright © 2011-2012, Wolf Paulus - http://wolfpaulus.com - A Tech Casita Production. All rights reserved.