質問編集履歴

1

情報追加

2021/11/11 00:58

投稿

ryoma26
ryoma26

スコア6

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,11 @@
12
12
 
13
13
  ```
14
14
 
15
- dragView.setOnTouchListener(listener);でアプリが落ちる
15
+ 2つ目のコードではdragView.setOnTouchListener(listener);でアプリが落ちる。しかし、3つ目のコードのように普通にsetContetViewしたViewの場合はうまくいく。
16
+
17
+ 2つ目のコードの場合は View view = layoutInflater .inflate(R.layout.activity_main, null);でViewに指定のレイアウトを設定し、windowManager.addView(view, params);で他のアプリ上にViewを追加している。setOnTouchListenerはsetContentViewで追加したViewにしか対応していないのかと考えています。
18
+
19
+
16
20
 
17
21
  ```
18
22
 
@@ -108,7 +112,7 @@
108
112
 
109
113
  ```
110
114
 
111
-
115
+ 他のアプリ上にViewを表示させそのViewを動かしたい場合
112
116
 
113
117
  ```java
114
118
 
@@ -353,3 +357,105 @@
353
357
  }
354
358
 
355
359
  ```
360
+
361
+
362
+
363
+ setContentViewで追加したViewを動かしたい場合
364
+
365
+
366
+
367
+ ```java
368
+
369
+ package com.app.autoreload;
370
+
371
+
372
+
373
+ import androidx.annotation.RequiresApi;
374
+
375
+ import androidx.appcompat.app.AppCompatActivity;
376
+
377
+
378
+
379
+ import android.annotation.SuppressLint;
380
+
381
+ import android.annotation.TargetApi;
382
+
383
+ import android.content.Context;
384
+
385
+ import android.content.Intent;
386
+
387
+ import android.graphics.PixelFormat;
388
+
389
+ import android.graphics.drawable.Drawable;
390
+
391
+ import android.net.Uri;
392
+
393
+ import android.os.Build;
394
+
395
+ import android.os.Bundle;
396
+
397
+ import android.provider.Settings;
398
+
399
+ import android.util.Log;
400
+
401
+ import android.view.LayoutInflater;
402
+
403
+ import android.view.View;
404
+
405
+ import android.view.ViewGroup;
406
+
407
+ import android.view.WindowManager;
408
+
409
+ import android.webkit.WebView;
410
+
411
+ import android.widget.Button;
412
+
413
+ import android.widget.EditText;
414
+
415
+ import android.widget.FrameLayout;
416
+
417
+ import android.widget.ImageView;
418
+
419
+ import android.widget.LinearLayout;
420
+
421
+
422
+
423
+ import java.text.ParseException;
424
+
425
+ import java.text.SimpleDateFormat;
426
+
427
+ import java.util.Timer;
428
+
429
+ import java.util.TimerTask;
430
+
431
+
432
+
433
+ public class MainActivity extends AppCompatActivity {
434
+
435
+
436
+
437
+
438
+
439
+ @Override
440
+
441
+ protected void onCreate(Bundle savedInstanceState) {
442
+
443
+ super.onCreate(savedInstanceState);
444
+
445
+ setContentView(R.layout.activity_main);
446
+
447
+
448
+
449
+ ImageView dragView = (ImageView) findViewById(R.id.imageView1);
450
+
451
+ DragViewListener listener = new DragViewListener(dragView);
452
+
453
+ dragView.setOnTouchListener(listener);
454
+
455
+
456
+
457
+ }
458
+
459
+ }
460
+
461
+ ```