回答編集履歴

4

コード例追加

2020/01/24 19:44

投稿

jimbe
jimbe

スコア12648

test CHANGED
@@ -3,3 +3,73 @@
3
3
 
4
4
 
5
5
  これで位置を指定して描画しているのですから, この dx,dy を一時保存(もしくは ACTION_UP 時も計算)して prefs に保存し, 再表示時の位置指定に layout メソッドを使用しては如何でしょうか.
6
+
7
+
8
+
9
+ ```java
10
+
11
+ int left = textView[0].getLeft() + (newbuttonX - buttonX);
12
+
13
+ int top = textView[0].getTop() + (newbuttonY - buttonY);
14
+
15
+
16
+
17
+ switch (event.getAction()) {
18
+
19
+ case MotionEvent.ACTION_MOVE:
20
+
21
+ //表示
22
+
23
+ int right = left + textView[0].getWidth();
24
+
25
+ int bottom = top + textView[0].getHeight();
26
+
27
+ textView[0].layout(left, top, right, bottom);
28
+
29
+ break;
30
+
31
+ case MotionEvent.ACTION_UP:
32
+
33
+ //保存
34
+
35
+ Editor editor = prefs.edit();
36
+
37
+ editor.putFloat("oldx1", left); //なぜ float?
38
+
39
+ editor.putFloat("oldy1", top);
40
+
41
+ editor.apply();
42
+
43
+
44
+
45
+ read_oldx[0] = prefs.getFloat("oldx1", 0);
46
+
47
+ read_oldy[0] = prefs.getFloat("oldy1", 0);
48
+
49
+ // Logで確認
50
+
51
+ Log.d("onTouch","ACTION_MOVE: dx="+left+"," +" dy="+top);
52
+
53
+ break;
54
+
55
+ }
56
+
57
+ ```
58
+
59
+ ```java
60
+
61
+ int left = (int)prefs.getFloat("oldx1", 0);
62
+
63
+ int top = (int)prefs.getFloat("oldy1", 0);
64
+
65
+ int right = left + textView[0].getWidth();
66
+
67
+ int bottom = top + textView[0].getHeight();
68
+
69
+ textView[0].layout(left, top, right, bottom);
70
+
71
+ ```
72
+
73
+
74
+
75
+ また, どちらも layout の代わりに setLeft / setTop を使っても良いのかもしれません.

3

変更

2020/01/24 19:44

投稿

jimbe
jimbe

スコア12648

test CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
 
4
4
 
5
- これで位置を指定して描画しているのですから, この dx,dy を一時保存(もしくは ACTION_UP 時も計算)してリファレンスに保存し, 再表示時の位置指定に layout メソッドを使用しては如何でしょうか.
5
+ これで位置を指定して描画しているのですから, この dx,dy を一時保存(もしくは ACTION_UP 時も計算)して prefs に保存し, 再表示時の位置指定に layout メソッドを使用しては如何でしょうか.

2

追加

2020/01/24 18:41

投稿

jimbe
jimbe

スコア12648

test CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
 
4
4
 
5
- これで位置を指定して描画しているのですから, この dx,dy を保存(もしくは ACTION_UP 時も計算)して, 再表示時 layout メソッドを使用しては如何でしょうか.
5
+ これで位置を指定して描画しているのですから, この dx,dy を一時保存(もしくは ACTION_UP 時も計算)してリファレンスに保存し, 再表示時の位置指定に layout メソッドを使用しては如何でしょうか.

1

文言追加

2020/01/24 18:39

投稿

jimbe
jimbe

スコア12648

test CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
 
4
4
 
5
- これで位置を指定して描画しているのですから, この dx,dy を保存して, 再表示時も layout メソッドを使用しては如何でしょうか.
5
+ これで位置を指定して描画しているのですから, この dx,dy を保存(もくは ACTION_UP 時も計算)して, 再表示時も layout メソッドを使用しては如何でしょうか.