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
RecyclerViewにリストカードを表示する
Search
syarihu
January 11, 2018
Technology
1
950
RecyclerViewにリストカードを表示する
RecyclerViewにリストカードを表示するViewを作成したお話です。
syarihu
January 11, 2018
Tweet
Share
More Decks by syarihu
See All by syarihu
[DroidKaigi 2024] Android ViewからJetpack Composeへ 〜Jetpack Compose移行のすゝめ〜 / From Android View to Jetpack Compose: A Guide to Migration
syarihu
3
3.3k
[shibuya.apk #46] Composableの枠を超えてアニメーションする / Animation beyond Composable
syarihu
0
48
[shibuya.apk #41] Jetpack Composeでグリッドに柔軟にスペースを入れたい
syarihu
0
3.2k
[DroidKaigi 2022] 詳解Google Playの新しい定期購入 ~オファーの活用や実装例を添えて~
syarihu
0
3.5k
5分で分かるGoogle Playの新しいサブスクリプション / Google Play new subscription 2022
syarihu
1
1.8k
[DroidKaigi 2021] Google Play 定期購入 比例配分モード完全攻略ガイド / Google Play Subscription Proration Mode Complete Guide
syarihu
1
7.7k
[Money Forward Tech Drive] What's new in Google Play [Recap #io21]
syarihu
0
570
[Android 11 Meetups] Google Play Commerce からのアップデート / Android 11 Meetups Google Play Commerce
syarihu
4
2.9k
[potatotips #70] license-list-pluginを使ってOSSライセンス画面を自動生成する / license-list-plugin
syarihu
4
4.8k
Other Decks in Technology
See All in Technology
グループ ポリシー再確認 (2)
murachiakira
0
210
Computer Use〜OpenAIとAnthropicの比較と将来の展望〜
pharma_x_tech
6
970
10分で学ぶ、RAGの仕組みと実践
supermarimobros
0
810
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
7
63k
LLM アプリケーションのためのクラウドセキュリティ - CSPM の実装ポイント-
osakatechlab
0
240
勝手に!深堀り!Cloud Run worker pools / Deep dive Cloud Run worker pools
iselegant
4
640
Notion x ポストモーテムで広げる組織の学び / Notion x Postmortem
isaoshimizu
1
150
3D生成AIのための画像生成
kosukeito
2
590
更新系と状態
uhyo
8
2.2k
コスト最適重視でAurora PostgreSQLのログ分析基盤を作ってみた #jawsug_tokyo
non97
2
870
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
5.5k
社会人力と研究力ー博士号をキャリアの武器にするー
kentaro
2
100
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
49
7.8k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
Side Projects
sachag
453
42k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Automating Front-end Workflow
addyosmani
1370
200k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
A designer walks into a library…
pauljervisheath
205
24k
Done Done
chrislema
184
16k
Visualization
eitanlees
146
16k
Optimising Largest Contentful Paint
csswizardry
37
3.2k
Transcript
RecyclerViewに リストカードを 表示する shibuya.apk #21 2018/01/11 (Thu) @syarihu
Taichi Sato (@syarihu) • Money Forward, Inc. ◦ Android Engineer
• TechBooster
TechBooster
本題
ことの発端
これどうやって作るんだろう
考えたこと • ViewGroupにaddViewする • ListViewをスクロールさせなくし て使う
ViewGroupにaddViewする • 実装したいと思ったときに これを毎回やるのつらそう • 汎用的に使えない
ListViewをスクロール させなくして使う • ViewGroupにaddViewするより は汎用的に使えそう • 必要のない機能までついてくるの で、なんだか微妙
もっと良い感じにできないだろうか
自分で作ってみよう
カスタムビューを 作ってみる
最低限欲しい機能 • Viewを使いまわしたい ◦ リストアイテムのViewを生成・保持 • 簡単にアイテムを操作したい ◦ リストアイテムの追加・変更・削除 •
もっと見るしたい ◦ リストアイテムの表示数を制限
基礎となるViewを作る
基礎となるViewを作る
Adapterを作る
リストアイテムのViewを 生成・保持する
リストアイテムのViewを 生成・保持する
リストアイテムのViewを 生成・保持する
リストの変更をViewに反映する
リストの変更をViewに反映する • このObservableはRxJavaやDataBindingのObservableではな く、android.database.Observable
リストの変更をViewに反映する • このObservableはRxJavaやDataBindingのObservableではな く、android.database.Observable • RecyclerViewで利用されているものと同じ
リストの変更をViewに反映する
リストの変更をViewに反映する
リストの変更をViewに反映する
リストの変更をViewに反映する
リストアイテムの表示数を 制限する
リストアイテムの表示数を 制限する
リストアイテムの表示数を 制限する
リストアイテムの表示数を 制限する
リストアイテムの表示数を 制限する
xmlから属性を 変更できるようにする
xmlから属性を 変更できるようにする
xmlから属性を 変更できるようにする
サンプルコード
RecyclerListViewの Adapterを作る
RecyclerListViewの Adapterを作る
RecyclerListViewの Adapterを作る
RecyclerListViewの Adapterを作る
RecyclerViewの Adapterを実装する
実行する
None
None
せっかく作ったので
ライブラリ化してみた
RecyclerListView • syarihu/RecyclerListView https://github.com/syarihu/RecyclerLi stView
RecyclerListView net.syarihu.android.library:RecyclerListView:0.1.0
宣伝
None
DroidKaigi 2018 • Android WearのWatch Faceを 作ろう 〜時計の盤面に小さな情 報を添えて〜 ◦
2018/02/09 17:40-18:10 ◦ Room 5
家計簿アプリ『マネーフォワード』の Androidアプリエンジニア募集中! ご興味があれば @syarihu まで
ご清聴ありがとうございました