[Flutter] 이모티콘과 머티리얼 아이콘에서 이미지 데이터 검색
대체로 위젯 그대로 사이에 맞습니다만, WebView에 정의 끝난 머티리얼 아이콘 붙여넣고 싶다든가, ListView의 아이콘에 이모티콘을 사용하고 싶다든가, 이모티콘이나 머티리얼 아이콘으로부터 Image 데이터를 꺼내고 싶을 때가 있습니다. 그것의 간단한 방법을 생각해 냈기 때문에 메모했습니다. 좀 더 제대로 된 방법이 있는 것 같아요. (누군가 말해주세요)
이미지 로드 실패 시 대체 스펙 사용
Image 클래스의 이미지는 asset, File, net 또는 memory에서 읽습니다. 그러나 읽지 못했을 때 표시 할 대체 위젯을 errorBuilder 매개 변수로 지정할 수 있습니다. 일부러 로드할 수 없는 파일로 이미지 구축해, errorBuilder로 사용하고 싶은 이모티콘을 표시하는 Text 위젯이나 Icon 위젯을 지정하는 것입니다. 간단합니다.
머티리얼 아이콘
Image texticon = Image.file(File(""),
errorBuilder: (BuildContext context, Object exception, StackTrace? stackTrace) {
return const Icon(Icons.text_snippet_outlined);
});
이모티콘
Image sadicon = Image.file(File(""),
errorBuilder: (BuildContext context, Object exception, StackTrace? stackTrace) {
return const Text('😢');
});
ListView에서 사용하면 다음과 같습니다. 맨 위가 Icon( Icons.text_snippet_outlined ) 이고, 아래 2개는 이모티콘의 "😢📁"입니다.
다만 단점도 있어, 우선 로드에 실패하므로, 디버그하면 본근과 관계없는 곳에서 예외 일으켜 멈춥니다. Image.file()이라면 로드 결과가 캐시되는지 정지는 한 번만 되지만, Image.asset()에서 같은 일을 하면 몇번이나 멈추어서 기쁩니다. 본래의 사용법이 아닌 것은 확실하네요.
좋은 곳은 await 지정이 불필요하므로, Widget build나 생성자 등 좋아하는 곳에 쓸 수 있는 곳입니다.
Reference
이 문제에 관하여([Flutter] 이모티콘과 머티리얼 아이콘에서 이미지 데이터 검색), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/picpie/items/4adc90b2cae4ece5155f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)