Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Applying L Design in EZTABLE APP
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
mike
August 27, 2014
Technology
250
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Applying L Design in EZTABLE APP
mike
August 27, 2014
Other Decks in Technology
See All in Technology
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
380
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
570
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
150
その Valkey 使いこなしていますか?
onk
PRO
5
1.5k
子育てエンジニアの可処分時間が減っても成長を諦めない戦い方
sudoakiy
6
4.6k
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
0
420
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
170
継続的なAIコスト最適化
bgpat
1
340
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
230
Rust で関数型ドメインモデリング
takonda
0
140
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
250
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
Building Applications with DynamoDB
mza
96
7.2k
Six Lessons from altMBA
skipperchong
29
4.5k
Amusing Abliteration
ianozsvald
1
350
Building the Perfect Custom Keyboard
takai
2
910
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
490
Designing Powerful Visuals for Engaging Learning
tmiket
1
610
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
59k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Transcript
Applying L Design in EZTABLE APP Mike Wu
Applying Part of (L Design) in EZTABLE APP Mike Wu
Hello, I`m Mike Wu Android Developer, EZTABLE Inc.
The behide story June 25 ~ 26 L design 釋出
designer: try it designer: try it 經驗分享 踏出第一步 designer: 你應該看 L guideline
Material Design
Material Design • 平台一致性 • 有意義的動畫 • 頁面的連續性 • 實體物件的感覺
紙張(paper): 重疊、深度、回饋
Google I/O 2014 App
Google I/O 2014 App: New Drawer
Google I/O 2014 App: New Drawer
New Drawer: How to Theme => material theme Layout =>
? Code => ?
Material Theme Theme.Holo Theme.Holo.Light Theme.Holo.Light.DarkActionBar Theme.Material Theme.Material.Light Theme.Material.Light.DarkActionBar
Material Theme <style name="EZTABLE_theme" parent="android:Theme.Material.Light.DarkActionBar"> <item name="android:colorPrimary">@color/primary</item> <item name="android:colorPrimaryDark">@color/primary_dark</item> <item
name="android:colorAccent">@color/accent</item> ... </style>
Drawer DrawerLayout DrawerToggle
Drawer DrawerLayout DrawerToggle
Drawer DrawerLayout DrawerToggle
How to? Basic concept
How to? Basic concept
How to? ToolBar New! Package android.widget.Toolbar New! Activity.setActionBar(Toolbar) > 新的container元件
> 可替代 ActionBar
Goal: Fake ActionBar • Layout way • Code
How to? layout way <?xml version="1.0" encoding="utf-8"?> <DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent"> <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" /> </DrawerLayout>
How to? layout way <?xml version="1.0" encoding="utf-8"?> <DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent"> <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" /> </DrawerLayout> <LinearLayout style="@style/HeaderBar" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <include layout="@layout/toolbar_actionbar" /> </LinearLayout>
How to? layout way <?xml version="1.0" encoding="utf-8"?> <DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent"> <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" /> </DrawerLayout> <LinearLayout style="@style/HeaderBar" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <include layout="@layout/toolbar_actionbar" /> </LinearLayout>
How to? layout way: background // defined in style.xml <style
name="HeaderBar"> <item name="android:elevation">2dp</item> <item name="android:background">?android:colorPrimary</item> </style>
How to? layout way: toolbar // defined in toolbar_actionbar.xml <Toolbar
xmlns:android="http://schemas.android.com/apk/res/android" android:theme="@style/ActionBarThemeOverlay" android:id="@+id/toolbar_actionbar" android:layout_width="match_parent" android:layout_height="?android:actionBarSize" />
How to? Hide Old ActionBar <style name="EZTABLE_theme" parent="android:Theme.Material.Light.DarkActionBar"> <item name="android:colorPrimary">@color/primary</item>
<item name="android:colorPrimaryDark">@color/primary_dark</item> <item name="android:colorAccent">@color/accent</item> … <item name="android:windowActionBar">false</item> </style>
How to? in Code initialize toolbar // in onCreate() newActionBar
= (Toolbar) findViewById(R.id.toolbar_actionbar); if (newActionBar != null) { setActionBar(newActionBar); }
How to? in Code set click event for toolbar newActionBar.setNavigationIcon(R.drawable.ic_drawer);
newActionBar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (mDrawerLayout.isDrawerOpen(Gravity.START)) { mDrawerLayout.closeDrawer(Gravity.START); } else { mDrawerLayout.openDrawer(Gravity.START); } } });
Result
Activity Animation Transition Step 1: <style name=”EZTABLE_theme.Page” parent=”EZTABLE_theme”> … <item
name="android:windowContentTransitions">true</item> <item name="android:windowSharedElementEnterTransition"> @transition/move_image/> <item name="android:windowSharedElementExitTransition"> @transition/move_image</item> ... </style>
Activity Animation Transition Step 2: ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(getActivity(), image,
"photo"); getActivity().startActivity(i, options.toBundle());
Activity Animation Transition 設定viewName // layout on Activity 1 android:viewName="photo"
// layout on Activiy 2 android:viewName="photo"
Activity Animation Transition 設定viewName 注意! For ListView // ith item
of ListView on Activity 1 android:viewName="photo?" // ?:請塞unique id, e.g: position // layout on Activiy 2 android:viewName="photo"
reference android google I/O 2014 https://github.com/google/iosched.git material witness https://github.com/romainguy/google-io-2014.git
Demo
招募 Android Developer 歡迎投遞履歷到
[email protected]