[flutter] Flutter의 텍스트 위젯 아래에 노란색 선이 있습니까?

내 첫 번째 flutter 앱에서 작업 중입니다. 기본 앱 화면에는이 문제가 없으며 모든 텍스트가 정상적으로 표시됩니다.

그러나 내가 개발중인이 새 화면에서는 모든 텍스트 위젯 아래에 이상한 노란색 선 / 이중 선이 있습니다.

왜 이런 일이 발생하는지에 대한 아이디어가 있습니까?

노란색 선



답변

문제는 없는지 Scaffold여부입니다.
Scaffold을위한 도우미 Material응용 프로그램 ( AppBar, Drawer물건, 그 종류). 하지만 Material.

당신이 놓친 것은 Theme부모로서의 인스턴스입니다 .

아는 것이 왜 중요합니까? 모달을 개발할 때 ( showDialog예 : 사용 ) 동일한 문제에 직면하게 되기 때문 입니다. 그러나 Scaffold는 불투명 한 전체 화면 위젯입니다! 그리고 당신은 분명히 당신의 모달에서 그것을 원하지 않습니다.

Theme 인스턴스를 도입하는 방법에는 여러 가지가 있습니다. 머티리얼 앱에서 이것은 일반적으로 Material위젯 을 인스턴스화함으로써 달성됩니다 . 그리고 그거 알아? Scaffold당신을 위해 하나를 만듭니다. 하지만 Dialog너무!


답변

Material위젯을 루트 요소로 추가하십시오 .

@override
  Widget build(BuildContext context) {
    return Material(
        type: MaterialType.transparency,
        child: new Container(


답변

Scaffold(일반적으로 더 좋음) 또는 간단한 Material위젯 과 같은 머티리얼 테마를 제공하는 다른 구성 요소를 사용할 수 있습니다 .

다음은 그 중 하나를 사용하는 예입니다.

var text = Scaffold(body: Text("Hi"),);
var text2 = Material(child: Text("Hi"),);

해결 방법으로 다음을 사용할 수 있습니다.

Text(
  'Your text',
  style: TextStyle(decoration: TextDecoration.none), // removes yellow line
)


답변

텍스트 스타일에는 없음으로 설정할 수있는 장식 인수가 있습니다.

Text("My Text",
  style: TextStyle(
    decoration: TextDecoration.none,
  )
);

또한 다른 사람들이 언급했듯이 Text 위젯이 Scaffold 또는 Material 위젯의 트리에 있으면 장식 텍스트 스타일이 필요하지 않습니다.


답변

또한 장식을 사용할 수 있습니다 : TextDecoration.none을 사용하여 밑줄을 제거합니다.


답변

이 답변에 내가 만나는 또 다른 방법을 추가하십시오.

DefaultTextStyle 위젯을 루트 위젯으로 감 쌉니다 . 여기서 각 텍스트 위젯을 변경할 필요는 없습니다.

DefaultTextStyle(
    style: TextStyle(decoration: TextDecoration.none),
    child : Your_RootWidget
)

누군가에게 도움이되기를 바랍니다.


답변

main.dart 파일에 Material과 Scaffold 위젯을 추가해야합니다.

 MaterialApp(
  home: Scaffold(
    body: Text('Hello world'),
  ),
);