Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
layout xml? try Anko!
Search
Moyuru Aizawa
December 09, 2016
Programming
2
2.7k
layout xml? try Anko!
Shibuya.apk
Ankoについての発表
TwitterID変えました。@lvla0805 -> @MoyuruAizawa
Moyuru Aizawa
December 09, 2016
Tweet
Share
More Decks by Moyuru Aizawa
See All by Moyuru Aizawa
BLUETOOTH_SCAN and iBeacon
lvla
1
88
graphicsLayer
lvla
0
200
BluetoothDevice.getName()に裏切られた話
lvla
0
340
Jetpack Composeで画像クロップ機能を実装する
lvla
0
1.1k
Jetpack Compose drag gesture and pinch gesture
lvla
1
3.8k
Jetpack Compose Layout API
lvla
1
650
BLEを使ったアプリを継続的に開発するために
lvla
0
1k
RecyclerView.ItemAnimator
lvla
1
310
RecycledViewPool
lvla
1
210
Other Decks in Programming
See All in Programming
CursorはMCPを使った方が良いぞ
taigakono
1
190
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
170
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
200
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
580
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
550
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
240
20250628_非エンジニアがバイブコーディングしてみた
ponponmikankan
0
510
PicoRuby on Rails
makicamel
2
110
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
1.6k
GraphRAGの仕組みまるわかり
tosuri13
8
500
Select API from Kotlin Coroutine
jmatsu
1
190
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
580
Featured
See All Featured
Navigating Team Friction
lara
187
15k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Docker and Python
trallard
44
3.4k
RailsConf 2023
tenderlove
30
1.1k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
710
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
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