2017-05-18 2 views
2

카드 위젯의 일부 텍스트와 아이콘의 위쪽과 아래쪽에 약간의 여백을 추가하려고합니다. 나는 플러터가 컨테이너에서이 작업을 수행하는 쉬운 방법을 가지고 있지만 다른 위젯과 함께이 작업을 수행하는 방법을 찾을 수 없다는 것을 알았습니다 (컨테이너에서 래핑하는 것을 제외하고). 이것은 내가 지금까지 가지고 코드입니다 : 모든 위젯에 플러터 패딩?

body: new Container(
    padding: new EdgeInsets.all(10.0), 
    child: new Column(
     crossAxisAlignment: CrossAxisAlignment.stretch, 
     children: <Widget> [ 
     new Card(
      color: Colors.white70, 
      child: new Container(
      padding: new EdgeInsets.all(10.0), 
      child: new Column(
       mainAxisAlignment: MainAxisAlignment.spaceBetween, 
       crossAxisAlignment: CrossAxisAlignment.center, 
       children: <Widget> [ //Padding between these please 
       new Text("I love Flutter", style: new TextStyle(fontSize: 20.0, fontWeight: FontWeight.bold)), 
       new Icon(Icons.favorite, color: Colors.redAccent, size: 50.0) 
       ] 
      ) 
     ) 
     ) 
     ] 
    ) 
) 

그래서 칼럼의 아이들에서, 나는 새로운 컨테이너를 삽입 할 필요없이 상단과 하단에 약간의 패딩을 추가하고 싶습니다. 이것이 가능한가?

답변

5

넌 그냥 child 같은 다른 Widget 당신은 이미 padding로 사용하고있는 한 같은 EdgeInsets 오브젝트를 매우 간단한 Widget입니다 Padding를 사용할 수 있습니다.

Flutter의 "상속을 통한 구성"의 이러한 접근 방식은 매우 의도적입니다. Flutter의 Gitter channel에 대한 장단점에 대한 최근 토론을 찾을 수 있습니다.

+0

완벽하게 작동했습니다. 나는이 문서를 우연히 발견했는데 Container 나 Padding을 사용하는 것이 실제로 차이를 내지 않는다고 말했습니다. 텍스트 나 아이콘과 같은 어린이없이 위젯에 패딩을 사용하는 것이 더 읽기 쉽습니다. 감사 :) –