본문 바로가기

전체 글980

Flutter 처리되지 않은 예외: 'InternalLinkedHashMap<String, dynamic>'은(는) 'List<dynamic>' 유형의 하위 유형이 아닙니다., Unhandled Exception: InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'List<dynamic> 질문 나는 서버에서 JSON 응답을 가져와 콘솔에 출력하려고 노력하고 있습니다. Future login() async { var response = await http.get( Uri.encodeFull("https://etrans.herokuapp.com/test/2"), headers: {"Accept": "application/json"}); this.setState(() { data = json.decode(response.body); }); print(data[0].name); return "Success!"; } Unhandled Exception: type '_InternalLinkedHashMap' is not a subtype of type 'List 이유는 무엇일까요? 답변 다음은 잘못.. 2023. 6. 1.
Flutter 플러터에서 이미지를 전체 배경에 맞게 (100% 높이 x 100% 너비) 늘리는 방법은 무엇인가요?, How do I stretch an image to fit the whole background (100% height x 100% width) in Flutter? 질문 내 기기의 화면 비율과 일치하지 않는 이미지가 있습니다. 이미지를 화면에 완전히 채우도록 늘이고 이미지의 어떤 부분도 잘라내지 않도록 하려고 합니다. CSS에는 백분율 개념이 있으므로 높이와 너비를 100%로 설정할 수 있습니다. 하지만 Flutter에는 그 개념이 없는 것 같고, 높이와 너비를 하드코딩하는 것은 좋지 않으므로 막혀 있습니다. 다음은 내가 가진 것입니다 (앞쪽에 무언가가 있으므로 Stack을 사용합니다): Widget background = new Container( height: // 여기에 무엇을 넣어야 할지 모릅니다! width: // 여기에 무엇을 넣어야 할지 모릅니다! child: new Image.asset( asset.background, fit: BoxFit.fill,.. 2023. 6. 1.
Flutter flutter - minHeight에서 시작하여 maxHeight까지 성장하는 상자를 만드는 올바른 방법, flutter - correct way to create a box that starts at minHeight, grows to maxHeight 질문 나는 사용자가 콘텐츠를 추가하는 동안 콘텐츠가 커지면 최소 크기에서 시작하여 최대 크기까지 성장하고 멈추도록하려는 컨테이너가 있습니다. 이 경우 올바른 위젯은 다음과 같은 ConstrainedBox입니다: new ConstrainedBox( constraints: new BoxConstraints( minHeight: 35.0, maxHeight: 60.0, ), child: ...grow content를 가진 자식(기본 높이 25.0)... ), 그러나이 방법은 박스를 maxHeight에서 시작합니다. hasBoundedHeight를 사용해보려고했지만 올바른 구문을 구성하거나 문서에서 예제를 찾을 수 없습니다. 설명 된대로 상자를 작동하는 가장 좋은 방법은 무엇인가요? 답변 "Starts from.. 2023. 6. 1.
Flutter 플러터: 카드를 클릭 가능하게 만드는 방법은 무엇인가요?, Flutter: How do you make a card clickable? 질문 저는 new Card(child: new Text('My cool card'))와 같은 간단한 카드를 가지고 있으며, 어느 곳을 클릭하더라도 어떤 함수를 실행할 수 있도록하고 싶습니다. 그러나 Card에는 onPressed 메소드가 없습니다. 하단에 버튼을 추가할 수 있지만 이 상황에는 이상적이지 않습니다. 카드 전체를 클릭할 수 있게하는 방법을 아시는 분 계신가요? 답변 Flutter는 속성 대신 구성을 사용합니다. 원하는 위젯을 클릭 가능한 것으로 감싸서 필요한 것을 달성하세요. 일부 클릭 가능한 위젯 : GestureDetector, InkWell, InkResponse. GestureDetector( onTap: () => ......, child: Card(...), ); 2023. 6. 1.
Flutter에서 다른 StatefulWidget에서 StatefulWidget의 상태를 설정/업데이트하는 방법은 무엇인가요?, How to Set/Update State of StatefulWidget from other StatefulWidget in Flutter? 질문 예를 들어 아래 코드에서는 더하기 버튼이 작동하여 텍스트를 업데이트할 수 있지만, 마이너스 버튼은 그렇지 않습니다. 하지만 FloatingActionButton을 누르면 상태가 새로 고침됩니다. 마이너스 버튼은 변수의 값을 변경하지만 부모 위젯의 상태를 업데이트하지 않습니다. 여기 코드가 있습니다... import 'package:flutter/material.dart'; void main() => runApp(new MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return new MaterialApp( title: 'Flutter Demo', theme: new ThemeD.. 2023. 6. 1.
Flutter 플러터에서 변수 이름 앞에 있는 밑줄 "_"은 무엇을 의미하는가?, What does Underscore "_" before variable name mean for Flutter 질문 Flutter 튜토리얼과 관련하여 밑줄 _을 만났습니다. Java에서 _은 private 변수의 명명 규칙으로 사용된다는 것을 알고 있습니다. Flutter에서도 적용되는가요? Flutter에는 public/protected가 없으므로 주의해야 합니다. _는 실제로 private(다른 클래스에서 접근할 수 없음)인가요 아니면 명명 규칙일 뿐인가요? 변수 class RandomWordsState extends State { final List _suggestions = []; final Set _saved = new Set(); final TextStyle _biggerFont = const TextStyle(fontSize: 18.0); ... } _는 위젯도 private으로 만드나요? 이 경우,.. 2023. 6. 1.
Flutter 플러터에서 shrinkWrap 속성은 무엇을 하는가요?, What does the shrinkWrap property do in Flutter? 질문 Flutter에 새로 왔고 이 기술을 배우기를 매우 열망합니다. ListView에서 shrinkWrap 속성의 작동 방식을 이해할 수 없습니다. Flutter 문서를 이해할 수 없었습니다. 답변 ListView (그리고 GridView, PageView 및 CustomScrollView)는 일반적으로 부모 요소가 제공하는 사용 가능한 공간을 모두 채우려고 시도합니다. 그러나 목록 항목이 더 적은 공간을 필요로 할 때에도 마찬가지입니다. shrinkWrap: true를 사용하면 ListView가 필요한 공간만 차지하도록이 동작을 변경할 수 있습니다(항목이 더 많을 때에도 스크롤링됩니다). 다음 예제를 확인하세요: import 'package:flutter/material.dart'; void main.. 2023. 6. 1.
Flutter FlatButton를 클릭하여 AlertDialog를 해제하는 방법은 무엇인가요?, How to dismiss an AlertDialog on a FlatButton click? 질문 다음과 같은 AlertDialog이 있습니다. showDialog( context: context, child: new AlertDialog( title: const Text("위치 비활성화됨"), content: const Text( """ 이 장치에서 위치가 비활성화되었습니다. 활성화하고 다시 시도하십시오. """), actions: [ new FlatButton( child: const Text("확인"), onPressed: _dismissDialog, ), ], ), ); _dismissDialog()를 사용하여 해당 AlertDialog를 해제할 수 있나요? 답변 Navigator.pop()는 해결책입니다. 또한 이를 사용하여 대화 상자의 결과를 반환할 수 있습니다 (사용자에게 선택을 제.. 2023. 6. 1.