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
110
graphicsLayer
lvla
0
220
BluetoothDevice.getName()に裏切られた話
lvla
0
360
Jetpack Composeで画像クロップ機能を実装する
lvla
0
1.2k
Jetpack Compose drag gesture and pinch gesture
lvla
1
3.9k
Jetpack Compose Layout API
lvla
1
670
BLEを使ったアプリを継続的に開発するために
lvla
0
1k
RecyclerView.ItemAnimator
lvla
1
320
RecycledViewPool
lvla
1
220
Other Decks in Programming
See All in Programming
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
1.2k
止められない医療アプリ、そっと Swift 6 へ
medley
1
150
Swift Concurrency - 状態監視の罠
objectiveaudio
2
510
CSC305 Lecture 05
javiergs
PRO
0
210
その面倒な作業、「Dart」にやらせませんか? Flutter開発者のための業務効率化
yordgenome03
1
110
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
230
Your Perfect Project Setup for Angular @BASTA! 2025 in Mainz
manfredsteyer
PRO
0
150
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
670
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
230
CI_CD「健康診断」のススメ。現場でのボトルネック特定から、健康診断を通じた組織的な改善手法
teamlab
PRO
0
200
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
980
CSC509 Lecture 06
javiergs
PRO
0
260
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
96
6.3k
The World Runs on Bad Software
bkeepers
PRO
71
11k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
How to Ace a Technical Interview
jacobian
280
24k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
KATA
mclloyd
32
15k
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