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
layout xml? try Anko!
Search
Moyuru Aizawa
December 09, 2016
Programming
2.8k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
layout xml? try Anko!
Shibuya.apk
Ankoについての発表
TwitterID変えました。@lvla0805 -> @MoyuruAizawa
Moyuru Aizawa
December 09, 2016
More Decks by Moyuru Aizawa
See All by Moyuru Aizawa
BLUETOOTH_SCAN and iBeacon
lvla
1
160
graphicsLayer
lvla
0
320
BluetoothDevice.getName()に裏切られた話
lvla
0
440
Jetpack Composeで画像クロップ機能を実装する
lvla
0
1.3k
Jetpack Compose drag gesture and pinch gesture
lvla
1
4.4k
Jetpack Compose Layout API
lvla
1
740
BLEを使ったアプリを継続的に開発するために
lvla
0
1.1k
RecyclerView.ItemAnimator
lvla
1
390
RecycledViewPool
lvla
1
320
Other Decks in Programming
See All in Programming
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
220
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3.1k
オーケストレーション記述言語 Katari
yukikurage
0
230
Web3Dライブラリを作ってVue Custom Rendererの仕組みを理解しよう / lets learn vue custom renderer by making 3d library
drumath2237
1
120
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
600
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
240
Coding with AI: How to trust the storyteller (AWS Community Day Adria, Ljubljana 2026)
slobodan
0
140
クラウドエージェントは、 何がそんなに便利なのか / what makes cloud agents so useful
rkaga
5
790
Spec-driven Development with AI
simas
PRO
0
2.3k
Engineering Biometric UX Across Android Versions | DroidKnights 2026
ryunen344
1
180
선언형 햅틱 라이브러리 진동을 소개합니다
l2hyunwoo
1
300
ChromeでローカルLLM
ryu1013
0
200
Featured
See All Featured
A better future with KSS
kneath
240
18k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
New Earth Scene 8
popppiees
4
2.8k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
570
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
660
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
350
Site-Speed That Sticks
csswizardry
13
1.6k
Speed Design
sergeychernyshev
33
2.2k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.8k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
830
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
600
Transcript
MBZPVUYNM !MWMB
MWMB MWMB Ѫᖒ๖ .PZVSV"J[BXB -FBEFOHJOFFSPGQBJST%JWFVSFLB *OD
QBJST $PVQMFT NBUDIHSPVQ *"$ IJSJOH
‣ *UJTOPUUZQFTBGF ‣ *UJTOPUOVMMTBGF ‣ *UGPSDFTZPVUPXSJUFBMNPTUUIFTBNFDPEFGPSFWFSZMBZPVU ZPVNBLF ‣ 9.-JTQBSTFEPOEFWJDFXBTUJOH$16UJNFBOECBUUFSZ ‣
.PTUPGBMM JUBMMPXTOPDPEFSFVTF 6*XSJUUFOVTJOH9.-
JU`TIBSEMZEPOFCFDBVTFJU`TTPNFXIBUVHMZBOEIBSEUPNBJOUBJO 8IJMFZPVDBODSFBUF6*QSPHSBNNBUJDBMMZʜ val act = this val layout = LinearLayout(act)
layout.orientation = LinearLayout.VERTICAL val name = EditText(act) val button = Button(act) button.text = "Say Hello" button.setOnClickListener { Toast.makeText(act, "Hello, ${name.text}!", Toast.LENGTH_SHORT) .show() } layout.addView(name) layout.addView(button)
"OLPNBLFTUIFTBNFMPHJDFBTZUPSFBE FBTZUPXSJUF verticalLayout { val name = editText() button("Say Hello")
{ onClick { toast("Hello, ${name.text}!") } } }
)PXJUXPSLT
"OLPDPOTJTUTPGTPNF,PUMJOFYUFOTJPOGVODUJPOBOEQSPQFSUJFT 5IFSFJTOP fun Activity.verticalLayout(init: _LinearLayout.()->Unit): LinearLayout fun ViewManager.button(text: CharSequence?, init:
Button.()->Unit): Button
&YUFOTJPOGVODUJPOPG"DUJWJUZ 5IFSFJTOP fun Activity.verticalLayout(init: _LinearLayout.()->Unit): LinearLayout fun ViewManager.button(text: CharSequence?, init:
Button.()->Unit): Button
&YUFOTJPOGVODUJPOPG@-JOFBS-BZPVU TVCDMBTTPG-JOFBS-BZPVU 5IFSFJTOP fun Activity.verticalLayout(init: _LinearLayout.()->Unit): LinearLayout fun ViewManager.button(text: CharSequence?,
init: Button.()->Unit): Button
&YUFOTJPOGVODUJPOPG7JFX.BOBHFS JOUFSGBDFUIBU7JFX(SPVQJNQMFNFOUT 5IFSFJTOP fun Activity.verticalLayout(init: _LinearLayout.()->Unit): LinearLayout fun ViewManager.button(text: CharSequence?,
init: Button.()->Unit): Button
&YUFOTJPOGVODUJPOPG#VUUPO 5IFSFJTOP fun Activity.verticalLayout(init: _LinearLayout.()->Unit): LinearLayout fun ViewManager.button(text: CharSequence?, init:
Button.()->Unit): Button
5IFSFJTOP fun Activity.verticalLayout(init: _LinearLayout.()->Unit): LinearLayout fun ViewManager.button(text: CharSequence?, init: Button.()->Unit):
Button verticalLayout { val name = editText() button("Say Hello") { onClick { toast("Hello, ${name.text}!") } } }
5IFUIJTLFZXPSEDPSSFTQPOETUP@-JOFBS-BZPVU 5IFSFJTOP fun Activity.verticalLayout(init: _LinearLayout.()->Unit): LinearLayout fun ViewManager.button(text: CharSequence?, init:
Button.()->Unit): Button verticalLayout { val name = editText() button("Say Hello") { onClick { toast("Hello, ${name.text}!") } } }
5IFUIJTLFZXPSEDPSSFTQPOETUP#VUUPO 5IFSFJTOP fun Activity.verticalLayout(init: _LinearLayout.()->Unit): LinearLayout fun ViewManager.button(text: CharSequence?, init:
Button.()->Unit): Button verticalLayout { val name = editText() button("Say Hello") { onClick { toast("Hello, ${name.text}!") } } }
*TJUFYUFOTJCMF
JGZPVXBOUUPVTFB.BQ7JFXJOUIF%4- XSJUFUIJTJOBOZ,PUMJOpMF *TJUFYUFOTJCMF public inline fun ViewManager.mapView(theme: Int =
0, init: MapView.()->Unit) = ankoView({ MapView(it) }, theme, init)
5SZ"OLP IUUQTHJUIVCDPN,PUMJOBOLP
5IBOLZPV