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
Cross App Drag and Drop
Search
funnelbit
March 30, 2016
Technology
0
660
Cross App Drag and Drop
funnelbit
March 30, 2016
Tweet
Share
More Decks by funnelbit
See All by funnelbit
Hatena Engineer Seminar #9
funnelbit
5
7.1k
droidkaigi-2017-renovation
funnelbit
10
10k
Dart
funnelbit
0
250
BottomBarAndSnackBar
funnelbit
0
460
Dagger2 Optional bindings
funnelbit
0
530
WearableRecyclerView
funnelbit
1
760
QucikSettingsTileAPI
funnelbit
0
340
Mobile Vision
funnelbit
0
430
AwarenessAPI
funnelbit
0
130
Other Decks in Technology
See All in Technology
Forget efficiency – Become more productive without the stress
ufried
0
150
Gradle: The Build System That Loves To Hate You
aurimas
2
150
いまさらのStorybook
ikumatadokoro
0
140
バクラクにおける可観測性向上の取り組み
yuu26
3
420
CAMERA-Suite: 広告文生成のための評価スイート / ai-camera-suite
cyberagentdevelopers
PRO
3
270
10分でわかるfreeeのQA
freee
1
3.4k
visionOSでの空間表現実装とImmersive Video表示について / ai-immersive-visionos
cyberagentdevelopers
PRO
1
110
[AWS JAPAN 生成AIハッカソン] Dialog の紹介
yoshimi0227
0
150
サイバーエージェントにおける生成AIのリスキリング施策の取り組み / cyber-ai-reskilling
cyberagentdevelopers
PRO
2
200
顧客が本当に必要だったもの - パフォーマンス改善編 / Make what is needed
soudai
24
6.8k
omakaseしないための.rubocop.yml のつくりかた / How to Build Your .rubocop.yml to Avoid Omakase #kaigionrails
linkers_tech
3
740
CyberAgent 生成AI Deep Dive with Amazon Web Services / genai-aws
cyberagentdevelopers
PRO
1
480
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
180
21k
BBQ
matthewcrist
85
9.3k
Git: the NoSQL Database
bkeepers
PRO
425
64k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
790
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
14
1.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Done Done
chrislema
181
16k
The Cult of Friendly URLs
andyhume
78
6k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.8k
Speed Design
sergeychernyshev
24
570
Code Reviewing Like a Champion
maltzj
519
39k
Teambox: Starting and Learning
jrom
132
8.7k
Transcript
$SPTT"QQ%SBH "OE%SPQ JEGVOOFMCJU
ࣗݾհ w ଜɹྋ w ͯͳJEGVOOFMCJU w 5XJUUFSJEFYQFSPQFSP
None
"OESPJE ͯͳϒοΫϚʔΫ
"OESPJE/1SFWJFX ग़·ͨ͠Ͷ
.VMUJ8JOEPX4VQQPSU
ΞϓϦؒͷ %SBHˍ%SPQΛαϙʔτ w 7JFXΫϥε͕֦ு͞Εαϙʔτ͞Εͨ w ҟͳΔ8JOEPXؒΛ%SBHˍ%SPQͰ͖Δ w ͨͱ͑ͦΕ͕ผΞϓϦͰ͋ͬͯ
ΞϓϦؒͷ %SBHˍ%SPQΛαϙʔτ w ͍ํ͜Ε·Ͱͷ%SBHˍ%SPQͱ͋Μ·ΓมΘ Βͳ͍ w Χॴ৽͍͠ϞϊΛ͏
TUBSU%SBH"OE%SPQ w ESBHˍESPQͷૢ࡞͕։࢝͞ΕΔ w TUBSU%SBH ඇਪʹ textView.startDragAndDrop(clipData, new MyDragShadowBuilder(view), null,
View.DRAG_FLAG_GLOBAL);
DBODFM%SBH"OE%SPQ w %SBHΠϕϯτΛதஅͰ͖Δ w %SBHૢ࡞Λ։࢝ͨ͠ଆͷΈ͕ݺΔ textView.cancelDragAndDrop();
VQEBUF%SBH4IBEPX w %SBHதͷӨΛஔ͖͑Δ͜ͱ͕ग़དྷΔ w %SBHૢ࡞Λ։࢝ͨ͠ଆͷΈ͕ݺΔ textView.updateDragShadow( new MyDragShadowBuilder(view));
%3"(@'-"(@(-0#"- w 8JOEPXΛ͑ͯͷ%SBHΛࢦఆ͢Δͱ͖ʹ͏ View.DRAG_FLAG_GLOBAL; View.DRAG_FLAG_GLOBAL_URI_READ; View.DRAG_FLAG_GLOBAL_URI_WRITE; …
w BOESPJEWJFX%SPQ1FSNJTTJPOT w SFRVFTU%SPQ1FSNJTTJPOT %SPQ1FSNJTTJPOT
ૹΔଆ ClipData.Item item = new ClipData.Item("ςΩετ"); String[] mimeType =
new String[1]; mimeType[0] = ClipDescription.MIMETYPE_TEXT_PLANE; ClipData clipData = new ClipData( new ClipDescription("text", mimeType), item); textView.startDragAndDrop(clipData, new MyDragShadowBuilder(view), null, View.DRAG_FLAG_GLOBAL);
Β͏ଆ root.setOnDragListener(new View.OnDragListener() { @Override public boolean onDrag(View view, DragEvent
dragEvent) { if (dragEvent.getAction() == DragEvent.ACTION_DROP) { String item = dragEvent.getClipData().getItemAt(0).getUri(); Log.e("text", item.toString()); } return true; } });
σϞ
ॴײ w ؆୯ʹσʔλͤΕΔͷྑͦ͞͏ w ͨͩ͠.VMUJ8JOEPXͷ͍উखʹΑΔ w ߟ͑Δࣄ૿͑ͨ w Ͳͷ.*.&5:1&·ͰରԠ͢Δͷ͔ɺ͠ͳ͍߹Ͳ͏͢Δ ͷ͔
w %SBHதͷ6* w ͍ͭͰ%SBHΠϕϯτ͕ೖͬͯ͘Δͱҙࣝ͢Δ
͋Γ͕ͱ͏͍͟͝·͠ ͨ