dev/flutter

[Flutter] Image.network 이미지 안뜨는 경우(네이버 웹툰)

캄춰 2023. 12. 11. 11:39
728x90
반응형

스크롤이 마우스 클릭, 터치가 안되는 경우 해결 방법

main.dart에서 'MaterialApp'의 scrollBehavior를 설정해준다.

: const MaterialScrollBehavior().copyWith(drageDevices: { } )

: 보안요소가 많은 경우 ScrollConfiguration위젯을 사용해서 특정 스크롤 위젯에만 적용해도 되지만,

: 다음과 같이 전역적으로 적용 가능한 것이 훨씬 유용

MaterialApp(
    scrollBehavior: const MaterialScrollBehavior().copyWith(
        dragDevices: {PointerDeviceKind.mouse, PointerDeviceKind.touch}),
);

 

 

Image.network에서 src url의 이미지가 표출되지 않는 경우

[web]

: web/index.html 파일 열기

: 아래로 쭉 내리면 engineInitializer객체 함수 initializeEngine( )안에 다음과 같이 작성

engineInitializer.initializeEngine({renderer:"html"})
  <script>
    window.addEventListener('load', function(ev) {
      // Download main.dart.js
      _flutter.loader.loadEntrypoint({
        serviceWorker: {
          serviceWorkerVersion: serviceWorkerVersion,
        },
        onEntrypointLoaded: function(engineInitializer) {
          engineInitializer.initializeEngine({renderer:"html"}).then(function(appRunner) {
            appRunner.runApp();
          });
        }
      });
    });
  </script>

 

 

[Android]

: 모바일의 경우 인터넷 권한을 주지 않으면 이미지를 받을 수 없다.

: 처음 플루터를 접하고, 안드로이드 폰을 사용하는 개발자는 아마 이부분을 놓치고 있을지도...

 

권한 주기

: app/src/main/AndroidManifest.xml

: <uses-permission android:name="android.permission.INTERNET" /> 을 다음과 같이 작성

<manifest xmlns:android="http://schemas.android.com/apk/res/android">

    <uses-permission android:name="android.permission.INTERNET" />
</manifest/>

 

 

그리고 Image.network위젯 파라메터 'headers'를 추가한다.

       Image.network(
                      "naverwebtoon_url.image.png",
                      headers: const {
                        'Referer': 'https://comic.naver.com',
                      },
                    ),
728x90
반응형