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
720
0
Share
Cross App Drag and Drop
funnelbit
March 30, 2016
More Decks by funnelbit
See All by funnelbit
Hatena Engineer Seminar #9
funnelbit
5
7.4k
droidkaigi-2017-renovation
funnelbit
10
11k
Dart
funnelbit
0
300
BottomBarAndSnackBar
funnelbit
0
540
Dagger2 Optional bindings
funnelbit
0
610
WearableRecyclerView
funnelbit
1
840
QucikSettingsTileAPI
funnelbit
0
380
Mobile Vision
funnelbit
0
490
AwarenessAPI
funnelbit
0
160
Other Decks in Technology
See All in Technology
テストコードのないプロジェクトにテストを根付かせる
tttol
1
240
Java正規表現エンジン(NFA)の仕組みと パフォーマンスを維持するための最適化手法
takeuchi_132917
0
160
Anthropic AIネイティブ・スタートアップ構築のプレイブック を理解する
nagatsu
0
230
oracle-to-databricks-migration-with-llm-and-dbt
casek
1
380
APIテストとは?
nagix
0
160
さきさん文庫の書籍ができるまで
sakiengineer
0
320
地元にいないローカルオーガナイザーの立ち回り
uvb_76
1
400
AIプラットフォームを運用し続けるための可観測性
tanimuyk
4
760
20260528_生成AIを専属DSに_Howの次にすべきことを考える
doradora09
PRO
0
270
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
7
980
GoとSIMDとWasmの今。
askua
1
150
JEP 522 Deep Dive - G1 GC同期コスト削減によるスループット向上を徹底検証&解説
tabatad
1
480
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
210k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Accessibility Awareness
sabderemane
1
130
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
260
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
The World Runs on Bad Software
bkeepers
PRO
72
12k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
So, you think you're a good person
axbom
PRO
2
2k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
440
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Πϕϯτ͕ೖͬͯ͘Δͱҙࣝ͢Δ
͋Γ͕ͱ͏͍͟͝·͠ ͨ