Flutter: boxdecoration์€ ์•„์ด์ฝ˜ ๋ฒ„ํŠผ์˜ ์ž”๋ฌผ๊ฒฐ์„ ์ˆจ๊น๋‹ˆ๋‹ค. ๋ Œ๋”๋ง ์ˆœ์„œ๊ฐ€ ๋งž์Šต๋‹ˆ๊นŒ?

์— ๋งŒ๋“  2017๋…„ 10์›” 25์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: flutter/flutter

๋ฒˆ์‹ ๋‹จ๊ณ„

https://codelabs.developers.google.com/codelabs/flutter/index.html#5 ํŽ˜์ด์ง€ ํŒ”๋กœ์šฐ

๋‚ด ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค

```
์œ„์ ฏ _setupBody() {
์ƒˆ ์—ด ๋ฐ˜ํ™˜(
์–ด๋ฆฐ์ด๋“ค:[
์ƒˆ๋กœ์šด ํ™•์žฅ(
์ž์‹: ์ƒˆ๋กœ์šด ListView.builder(
itemBuilder: (_nothing, int ์ธ๋ฑ์Šค) => _messageList[์ธ๋ฑ์Šค],
๋ฐ˜์ „: ์‚ฌ์‹ค,
itemCount: _messageList.length,
),
),
์ƒˆ๋กœ์šด ๋””๋ฐ”์ด๋”(๋†’์ด: 1.0),
์ƒˆ ์ปจํ…Œ์ด๋„ˆ(
ํŒจ๋”ฉ: const EdgeInsets.symmetric(์ˆ˜ํ‰: 5.0),
//์žฅ์‹: ์ƒˆ๋กœ์šด BoxDecoration(color: Theme.of(context).cardColor,),
์ž์‹: ์ƒˆ ํ–‰(
์–ด๋ฆฐ์ด๋“ค:[
์ƒˆ๋กœ์šด ์œ ์—ฐํ•œ(
์ž์‹: ์ƒˆ๋กœ์šด TextField(
์ตœ๋Œ€ ๋ผ์ธ: 1,
์ปจํŠธ๋กค๋Ÿฌ: _myController,
onSubmitted: _handleSubmitted,
์žฅ์‹: ์ƒˆ๋กœ์šด InputDecoration.collapsed(hintText: "์—ฌ๊ธฐ์— ์ž…๋ ฅ"),
),
),
์ƒˆ๋กœ์šด ์•„์ด์ฝ˜ํ…Œ๋งˆ(
๋ฐ์ดํ„ฐ: ์ƒˆ๋กœ์šด IconThemeData(์ƒ‰์ƒ: Theme.of(context).accentColor),
์ž์‹: new IconButton(icon: new Icon(Icons.send), onPressed: () => _handleSubmitt(_myController.text)))
],
))
],
);
}

then it shown like this: 
![screenflow](https://user-images.githubusercontent.com/3993323/31986228-425b9d68-b92d-11e7-8176-de3deab993c2.gif)

after add the decoration  (uncomment the line 14)

![screenflow2](https://user-images.githubusercontent.com/3993323/31986425-0dcfe8b4-b92e-11e7-90ae-52664835cd4b.gif)

as you see, the boxdecoration hide the ripple.

from the code , i think , the boxdexcoration should be rendered first. 

How to change the code makes the ripple at front of the boxdexcoration?



## Flutter Doctor

[โœ“] Flutter(Mac OS X 10.12.4 16E195, ๋กœ์ผ€์ผ zh-Hans-CN, ์ฑ„๋„ ์•ŒํŒŒ)
โ€ข Flutter์˜ /Users/cjz/ALL_IN_THIS/flutter
โ€ข ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐœ์ •ํŒ e8aa40eddd(7์ผ ์ „), 2017-10-17 15:42:40 -0700
โ€ข ์—”์ง„ ๊ฐœ์ •ํŒ 7c4142808c
โ€ข ๋„๊ตฌ ๋‹คํŠธ ๋ฒ„์ „ 1.25.0-dev.11.0

[โœ“] Android ํˆด์ฒด์ธ - Android ๊ธฐ๊ธฐ์šฉ ๊ฐœ๋ฐœ(Android SDK 26.0.2)
โ€ข /Users/cjz/ALL_IN_THIS/Android/sdk์˜ Android SDK
โ€ข ํ”Œ๋žซํผ android-26, ๋นŒ๋“œ ๋„๊ตฌ 26.0.2
โ€ข ANDROID_HOME = /Users/cjz/ALL_IN_THIS/Android/sdk
โ€ข Java ๋ฐ”์ด๋„ˆ๋ฆฌ: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
โ€ข Java ๋ฒ„์ „ OpenJDK ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ(๋นŒ๋“œ 1.8.0_152-release-915-b08)

[โœ“] iOS ํˆด์ฒด์ธ - iOS ๊ธฐ๊ธฐ์šฉ ๊ฐœ๋ฐœ(Xcode 8.3.2)
โ€ข /Applications/Xcode.app/Contents/Developer์˜ Xcode
โ€ข Xcode 8.3.2, ๋นŒ๋“œ ๋ฒ„์ „ 8E2002
โ€ข ios ๋ฐฐํฌ 1.9.2
โ€ข CocoaPods ๋ฒ„์ „ 1.3.1

[โœ“] ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค(๋ฒ„์ „ 3.0)
โ€ข /Applications/Android Studio.app/Contents์˜ Android ์ŠคํŠœ๋””์˜ค
โ€ข Java ๋ฒ„์ „ OpenJDK ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ(๋นŒ๋“œ 1.8.0_152-release-915-b08)

[โœ“] ์—ฐ๊ฒฐ๋œ ์žฅ์น˜
โ€ข x86์šฉ์œผ๋กœ ๋นŒ๋“œ๋œ Android SDK โ€ข emulator-5554 โ€ข android-x86 โ€ข Android 5.1.1(API 22)(์—๋ฎฌ๋ ˆ์ดํ„ฐ)
โ€ข iPhone SE โ€ข 795AA980-157D-455C-AC52-385CBDDC3BDE โ€ข ios โ€ข iOS 10.3(์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ)
```

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ €๋Š” ์ดˆ๋ณด์ž์ž…๋‹ˆ๋‹ค, ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ์ž˜ ํ–ˆ์–ด! @mchome
qq 20171101164118

Widget _setupBody() {
    return new Column(
      children: <Widget>[
        new Expanded(
          child: new ListView.builder(
            itemBuilder: (_nothing, int index) => _messageList[index],
            reverse: true,
            itemCount: _messageList.length,
          ),
        ),
        new Divider(height: 1.0),
        new Material(
          color: Theme.of(context).cardColor,
          //child: new Container(
          //  padding: const EdgeInsets.symmetric(horizontal: 5.0),
            child: new Row(
              children: <Widget>[
                new Flexible(
                  child: new TextField(
                    maxLines: 1,
                    controller: _myController,
                    onSubmitted: _handleSubmitt,
                    onChanged: (String text) {
                      setState(() {
                        _isComposing = text.length > 0;
                      });
                    },
                    decoration: new InputDecoration.collapsed(hintText: "input here"),
                  ),
                ),
                new IconTheme(
                    data: new IconThemeData(color: Theme.of(context).accentColor),
                    child: Theme.of(context).platform == TargetPlatform.iOS
                        ? new CupertinoButton(child: new Text("Send"), onPressed: _isComposing ? () => _handleSubmitt(_myController.text) : null)
                        : new IconButton(icon: new Icon(Icons.send), onPressed: _isComposing ? () => _handleSubmitt(_myController.text) : null))
              ],
            ),
         //   decoration: new BoxDecoration(
         //     color: Theme.of(context).cardColor,
         //   ),
         // ),
        ),
      ],
    );
  }

๋ชจ๋“  3 ๋Œ“๊ธ€

@cjztool , ๊ทธ๋ƒฅ ์ƒ‰์น ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด Container ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  Material ํด๋ž˜์Šค๋กœ ๋ž˜ํ•‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ €๋Š” ์ดˆ๋ณด์ž์ž…๋‹ˆ๋‹ค, ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ์ž˜ ํ–ˆ์–ด! @mchome
qq 20171101164118

Widget _setupBody() {
    return new Column(
      children: <Widget>[
        new Expanded(
          child: new ListView.builder(
            itemBuilder: (_nothing, int index) => _messageList[index],
            reverse: true,
            itemCount: _messageList.length,
          ),
        ),
        new Divider(height: 1.0),
        new Material(
          color: Theme.of(context).cardColor,
          //child: new Container(
          //  padding: const EdgeInsets.symmetric(horizontal: 5.0),
            child: new Row(
              children: <Widget>[
                new Flexible(
                  child: new TextField(
                    maxLines: 1,
                    controller: _myController,
                    onSubmitted: _handleSubmitt,
                    onChanged: (String text) {
                      setState(() {
                        _isComposing = text.length > 0;
                      });
                    },
                    decoration: new InputDecoration.collapsed(hintText: "input here"),
                  ),
                ),
                new IconTheme(
                    data: new IconThemeData(color: Theme.of(context).accentColor),
                    child: Theme.of(context).platform == TargetPlatform.iOS
                        ? new CupertinoButton(child: new Text("Send"), onPressed: _isComposing ? () => _handleSubmitt(_myController.text) : null)
                        : new IconButton(icon: new Icon(Icons.send), onPressed: _isComposing ? () => _handleSubmitt(_myController.text) : null))
              ],
            ),
         //   decoration: new BoxDecoration(
         //     color: Theme.of(context).cardColor,
         //   ),
         // ),
        ),
      ],
    );
  }

@MChome์€ ๋†€๋ผ์šด ํ•˜ํ•˜์ž…๋‹ˆ๋‹ค! ๋ฐฉ๊ธˆ ํ™ˆํŽ˜์ด์ง€์— ์‚ฌ์šฉ ๋œ ํ•œ์ž๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰