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
WearableRecyclerView
Search
funnelbit
October 26, 2016
Technology
860
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
WearableRecyclerView
funnelbit
October 26, 2016
More Decks by funnelbit
See All by funnelbit
Hatena Engineer Seminar #9
funnelbit
5
7.5k
droidkaigi-2017-renovation
funnelbit
10
11k
Dart
funnelbit
0
310
BottomBarAndSnackBar
funnelbit
0
550
Dagger2 Optional bindings
funnelbit
0
620
QucikSettingsTileAPI
funnelbit
0
390
Mobile Vision
funnelbit
0
500
AwarenessAPI
funnelbit
0
170
Asynchronous Injection
funnelbit
1
290
Other Decks in Technology
See All in Technology
形式手法を使って仕様をコーディングしよう
mikanichinose
0
160
顧客の成果創出とプロダクトの成長を 両立するためのFDE
sansantech
PRO
0
610
Databricksメトリクスビューはじめてのもくもく会
taka_aki
0
160
AI駆動開発、viviONの1年 ── うまくいったこと・いかなかったこと
vivion
0
130
2026-09-26 Platform Engineering Kaigi 2026 インフラとアプリの境界線と委譲の設計 / Drawing the Infra and App Line
masasuzu
0
570
Codex概要
ymiya55
0
210
20260930_Gemma4_Hands-on
tsho
0
210
スキルを作る、その前に!複数人で使われるスキルを 作るためのプロセス
junkifurukawa
2
170
全社共通データ基盤をつくる。ソニーのDatabricks活用とデータガバナンス設計の裏側
sony
0
290
3人で1000GPU超を統合運用する?マルチクラウド&オンプレを跨ぐ、構築と運用のリアル!
kazukun0716
2
810
Meet AgentCore Identity Consent Portal
hironobuiga
3
150
生成AIを使って「人が」考える技術 ― AI時代の人機共想と実践ノウハウ|UNITT AC2026
ishiirikie
0
520
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
7k
The untapped power of vector embeddings
frankvandijk
2
1.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Statistics for Hackers
jakevdp
799
230k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
960
Designing for Timeless Needs
cassininazir
1
510
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Between Models and Reality
mayunak
4
480
Transcript
8FBSBCMF 3FDZDMFS7JFX
ࣗݾհ ଜྋ גࣜձࣾͯͳ )BUFOBGVOOFMCJU 5XJUUFS!FYQFSPQFSP
ހʹͦͬͯஔ͢Δ 3FDZDMFS7JFX
None
8FBSBCMF 3FDZDMFS7JFX w ؙܕ8FBSBCMFσόΠεʹରԠͨ͠ 3FDZDMFS7JFX w 3FDZDMFS7JFXͷࢠΫϥε w ހʹͦͬͯεΫϩʔϧ͍ͯ͘͠ w
8FBSd
None
<android.support.wearable.view.WearableRecyclerView xmlns:android="http://schemas.android.com/apk/res/ android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/recycler_launcher_view" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical"/> 8FBSBCMF
3FDZDMFS7JFX
8FBSBCMF 3FDZDMFS7JFX mWearableRecyclerView.setAdapter(adapter);
None
0⒎TFUUJOH)FMQFS
0⒎TFUUJOH)FMQFS w JUFNͷP⒎TFUΛࢦఆͰ͖Δ public class CustomOffsettingHelper extends DefaultOffsettingHelper { @Override
public void updateChild(View child, WearableRecyclerView parent) { super.updateChild(child, parent); // Figure out % progress from top to bottom float centerOffset = ((float) child.getHeight() / 2.0f) / (float) parent.getHeight(); float yRelativeToCenterOffset = (child.getY() / parent.getHeight()) + centerOffset; // Normalize for center mProgressToCenter = Math.abs(0.5f - yRelativeToCenterOffset); // Adjust to the maximum scale mProgressToCenter = Math.min(mProgressToCenter, MAX_ICON_PROGRESS); child.setScaleX(1 - mProgressToCenter); child.setScaleY(1 - mProgressToCenter); }
$JSDVMBS4DSPMMJOH (FTUVSF
$JSDVMBS4DSPMMJOH(FTUVSF mWearableRecyclerView.setCircularScrollingGestu reEnabled(true); w ؙ͍εΫϩʔϦϯάΛ༗ޮʹ͢Δ
$JSDVMBS4DSPMMJOH(FTUVSF
$JSDVMBS4DSPMMJOH(FTUVSF mWearableRecyclerView.setScrollDegreesPerScreen (90); w εΫϩʔϧͷ߹͍ΛมߋͰ͖Δ
"ODIPS
w σϑΥϧτͰJUFNͷY ZJUFNͷߴ͞ ͷத৺
BEKVTU"ODIPS0⒎TFU9: public class CustomOffsettingHelper extends DefaultOffsettingHelper { … @Override
protected void adjustAnchorOffsetXY(View child, float[] anchorOffsetXY) { anchorOffsetXY[0] = child.getHeight() / 2.0f; } … }
·ͱΊ w ؙܕσόΠεͷڧΈΛ׆͔ͤΔ w ໊લͷҙਤ͕ΠϚΠνΑ͘Θ͔Βͳ͍ ʢ8FBSBCMF3FDZDMFS7JFXʣ
ৄࡉ w IUUQTEFWFMPQFSBOESPJEDPNXFBS QSFWJFXGFBUVSFTXFBSBCMFSFDZDMFS WJFXIUNM
͋Γ͕ͱ͏͍͟͝·ͨ͠