質問編集履歴

3

MyViewの記述について変更しました。

2021/05/18 03:47

投稿

nmnm789
nmnm789

スコア1

test CHANGED
File without changes
test CHANGED
@@ -19,8 +19,6 @@
19
19
  **[追記]
20
20
 
21
21
  今目指したいDesign画面は次のようになります。**
22
-
23
- ![イメージ説明](a7976b4ce8cdb8f5cef211dadf21fc8a.png)
24
22
 
25
23
 
26
24
 
@@ -76,177 +74,7 @@
76
74
 
77
75
  ```
78
76
 
79
- MyView
80
77
 
81
- ```java
82
-
83
- import android.content.Context;
84
-
85
- import android.graphics.Canvas;
86
-
87
- import android.graphics.Color;
88
-
89
- import android.graphics.Paint;
90
-
91
- import android.util.AttributeSet;
92
-
93
- import android.view.MotionEvent;
94
-
95
- import android.view.View;
96
-
97
-
98
-
99
- import java.util.ArrayList;
100
-
101
-
102
-
103
- public class MyView extends View{
104
-
105
-
106
-
107
- private ArrayList array_x,array_y,array_status;
108
-
109
-
110
-
111
- public MyView(Context context){
112
-
113
- super(context);
114
-
115
-
116
-
117
- array_x = new ArrayList();
118
-
119
- array_y = new ArrayList();
120
-
121
- array_status = new ArrayList();
122
-
123
- }
124
-
125
-
126
-
127
- public MyView(Context context, AttributeSet attrs){
128
-
129
- super(context, attrs);
130
-
131
-
132
-
133
- array_x = new ArrayList();
134
-
135
- array_y = new ArrayList();
136
-
137
- array_status = new ArrayList();
138
-
139
-
140
-
141
- }
142
-
143
-
144
-
145
- @Override
146
-
147
- protected void onDraw(Canvas canvas){
148
-
149
- super.onDraw(canvas);
150
-
151
-
152
-
153
- Paint paint = new Paint();
154
-
155
- paint.setColor(Color.WHITE);
156
-
157
- paint.setStyle(Paint.Style.FILL);
158
-
159
- canvas.drawRect(0,0,canvas.getWidth(),canvas.getHeight(),paint);
160
-
161
-
162
-
163
- paint = new Paint();
164
-
165
- paint.setColor(Color.RED);
166
-
167
- for(int i=0; i<array_status.size();i++){
168
-
169
- boolean status = (boolean)array_status.get(i);
170
-
171
- if(status){
172
-
173
- int x1 = (int)array_x.get(i-1);
174
-
175
- int y1 = (int)array_y.get(i-1);
176
-
177
- int x2 = (int)array_x.get(i);
178
-
179
- int y2 = (int)array_y.get(i);
180
-
181
- canvas.drawLine(x1,y1,x2,y2,paint);
182
-
183
- }
184
-
185
- }
186
-
187
- }
188
-
189
-
190
-
191
- @Override
192
-
193
- public boolean onTouchEvent(MotionEvent event){
194
-
195
- int x = (int) event.getX();
196
-
197
- int y = (int) event.getY();
198
-
199
- int action = event.getAction();
200
-
201
-
202
-
203
- switch(action){
204
-
205
- case MotionEvent.ACTION_DOWN:
206
-
207
- case MotionEvent.ACTION_POINTER_DOWN:
208
-
209
- array_x.add(x);
210
-
211
- array_y.add(y);
212
-
213
- array_status.add(false);
214
-
215
- invalidate();
216
-
217
- break;
218
-
219
- case MotionEvent.ACTION_MOVE:
220
-
221
- case MotionEvent.ACTION_UP:
222
-
223
- case MotionEvent.ACTION_POINTER_UP:
224
-
225
- array_x.add(x);
226
-
227
- array_y.add(y);
228
-
229
- array_status.add(true);
230
-
231
- invalidate();
232
-
233
- break;
234
-
235
- default:
236
-
237
- break;
238
-
239
- }
240
-
241
- return true;
242
-
243
- }
244
-
245
-
246
-
247
- }
248
-
249
- ```
250
78
 
251
79
  activity_main
252
80
 

2

初心者マークを付けました。

2021/05/18 03:47

投稿

nmnm789
nmnm789

スコア1

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  **[追記]
20
20
 
21
- 今目指したいDesign画面は次のようになります。**
21
+ 今目指したいDesign画面は次のようになります。**
22
22
 
23
23
  ![イメージ説明](a7976b4ce8cdb8f5cef211dadf21fc8a.png)
24
24
 

1

目指しているレイアウトのDesign画面を添付させて頂きました。

2021/05/18 02:55

投稿

nmnm789
nmnm789

スコア1

test CHANGED
File without changes
test CHANGED
@@ -16,6 +16,14 @@
16
16
 
17
17
 
18
18
 
19
+ **[追記]
20
+
21
+ 今目指したいDesign画面は次のようになります。**
22
+
23
+ ![イメージ説明](a7976b4ce8cdb8f5cef211dadf21fc8a.png)
24
+
25
+
26
+
19
27
  ### 該当のソースコード
20
28
 
21
29
  MainActivity