Flutter에서 버튼 클릭시 카드 뷰의 색상을 변경하는 방법은 무엇입니까?

Ashrrith

몇 개의 버튼이 있고 버튼 클릭에 따라 카드보기의 색상을 설정해야합니다. 기본적으로 게시물에 테마를 추가하고 있으므로 미리보기 페이지에서 사용자가 버튼을 클릭하여 원하는 색상을 선택할 수 있도록해야합니다.

스크린 샷 : 버튼이있는 CardView 페이지

버튼 코드 :

               Padding(
                        padding: const EdgeInsets.only(top: 10),
                        child: Row(
                          children: [
                            Expanded(
                              child: MaterialButton(
                                onPressed: () {},
                                color: Colors.yellow,
                                shape: CircleBorder(),
                              ),
                            ),
                            Expanded(
                              child: MaterialButton(
                                onPressed: () {},
                                color: Colors.orange,
                                shape: CircleBorder(),
                              ),
                            ),
                            Expanded(
                              child: MaterialButton(
                                onPressed: () {},
                                color: Colors.brown,
                                shape: CircleBorder(),
                              ),
                            ),
                            Expanded(
                              child: MaterialButton(
                                onPressed: () {},
                                color: Colors.blue,
                                shape: CircleBorder(),
                              ),
                            ),
                            Expanded(
                              child: MaterialButton(
                                onPressed: () {},
                                color: Colors.green,
                                shape: CircleBorder(),
                              ),
                            ),
                            Expanded(
                              child: MaterialButton(
                                onPressed: () {},
                                color: Colors.black,
                                shape: CircleBorder(),
                              ),
                            ),
                          ],
                        ),
                      ),

Cardview 코드 :

                Card(
                          child: Container(
                            decoration: BoxDecoration(
                                color: Colors.blue,
                                border: Border.all(
                                    color: MyColors.black, width: 1.5),
                                borderRadius: BorderRadius.circular(10)),
                            child: Column(
                              children: [
                                Row(
                                  children: [
                                    Padding(
                                      padding: const EdgeInsets.all(8.0),
                                      child: CircleAvatar(
                                        backgroundImage:
                                            CachedNetworkImageProvider(
                                                _profileurl),
                                      ),
                                    ),
                                    Text(_username),
                                  ],
                                ),
                                Padding(
                                  padding: const EdgeInsets.all(8.0),
                                  child: Obx(
                                    () => Text(
                                      pollDataController1.question.value,
                                      style: TextType.boldHeading,
                                    ),
                                  ),
                                ),
                                Obx(
                                  () => ClipRRect(
                                    borderRadius: BorderRadius.circular(10),
                                    child: Image.asset(
                                      (pollImageController.imageDisplay.value),
                                      width: 320,
                                      height: 170,
                                      fit: BoxFit.cover,
                                    ),
                                  ),
                                ),
                                Padding(
                                  padding: const EdgeInsets.symmetric(
                                      vertical: 10.0),
                                  child: Column(
                                    children: [
                                      Column(
                                        children: [
                                          Row(
                                            mainAxisAlignment:
                                                MainAxisAlignment.center,
                                            children: [
                                              Obx(
                                                () => Text(
                                                  pollDataController1
                                                          .op1.value +
                                                      "  ",
                                                  style: TextStyle(
                                                    color: MyColors.offBlack,
                                                    fontSize: 16.0,
                                                  ),
                                                ),
                                              ),
                                              Obx(
                                                () => Text(pollDataController1
                                                    .op1Emoji.value),
                                              ),
                                              SizedBox(
                                                width: 25.0,
                                              ),
                                              Obx(
                                                () => Text(
                                                  pollDataController1
                                                          .op2.value +
                                                      "  ",
                                                  style: TextStyle(
                                                    color: MyColors.offBlack,
                                                    fontSize: 16.0,
                                                  ),
                                                ),
                                              ),
                                              Obx(
                                                () => Text(pollDataController1
                                                    .op2Emoji.value),
                                              ),
                                            ],
                                          ),
                                        ],
                                      ),
                                      SizedBox(height: 13.0),
                                      Column(
                                        children: [
                                          Row(
                                            mainAxisAlignment:
                                                MainAxisAlignment.center,
                                            children: [
                                              Obx(
                                                () => Text(
                                                  pollDataController1
                                                          .op3.value +
                                                      "  ",
                                                  style: TextStyle(
                                                    color: MyColors.offBlack,
                                                    fontSize: 16.0,
                                                  ),
                                                ),
                                              ),
                                              Obx(
                                                () => Text(pollDataController1
                                                    .op3Emoji.value),
                                              ),
                                              SizedBox(
                                                width: 25.0,
                                              ),
                                              Obx(
                                                () => Text(
                                                  pollDataController1
                                                          .op4.value +
                                                      "  ",
                                                  style: TextStyle(
                                                    color: MyColors.offBlack,
                                                    fontSize: 16.0,
                                                  ),
                                                ),
                                              ),
                                              Obx(
                                                () => Text(pollDataController1
                                                    .op4Emoji.value),
                                              ),
                                            ],
                                          ),
                                        ],
                                      ),
                                    ],
                                  ),
                                ),
                              ],
                            ),
                          ),
                        ),
레오 칸

색상에 전역 변수를 사용하고 각 원 버튼을 탭할 때 색상을 변경하는 기능을 사용할 수 있습니다.

따라서 예는 다음과 같습니다.

Color cardBackgroundColor = Colors.white;
  
void changeColor(Color changeToColor) {
        setState(() {
            cardBackgroundColor = changeToColor;
         });
  }

그런 다음 버튼 코드에서 다음과 같이 사용하십시오.

Expanded(
         child: MaterialButton(
         onPressed: changeColor(Colors.yellow),
         color: Colors.yellow,
         shape: CircleBorder(),
         ),
      ),

그리고 Cardview 코드에서 다음과 같이 변경하십시오.

Card(child: Container(
                 decoration: BoxDecoration(
                 color: cardBackgroundColor,
                 border: Border.all(
                 color: MyColors.black, width: 1.5),
                 borderRadius: BorderRadius.circular(10)),

이것이 가장 깨끗하지는 않지만 가장 빠른 방법입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

React Native에서 클릭 할 때 각 버튼의 색상을 변경하는 방법은 무엇입니까?

분류에서Dev

Flutter에서 여러 버튼 중 하나의 버튼 색상을 변경하는 방법은 무엇입니까?

분류에서Dev

클릭 할 때 버튼의 색상을 변경하고 다음 클릭에서 기본 색상으로 되 돌리는 방법은 무엇입니까?

분류에서Dev

클릭시 버튼의 값을 변경하는 방법은 무엇입니까?

분류에서Dev

버튼을 클릭하여 SVG 요소의 색상을 변경하는 방법은 무엇입니까?

분류에서Dev

SWIFTUI. 클릭 후 버튼의 색상을 영구적으로 변경하는 방법은 무엇입니까?

분류에서Dev

NSTabView에서 탭 버튼의 색상과 뷰 자체를 변경하는 방법은 무엇입니까?

분류에서Dev

Android에서 두 개 이상의 버튼 클릭으로 카메라를 여는 방법은 무엇입니까?

분류에서Dev

R Shiny에서 상자의 축소 / 확장 버튼 색상을 변경하는 방법은 무엇입니까?

분류에서Dev

버튼 클릭시 카운트 타이머의 값을 얻는 방법은 무엇입니까?

분류에서Dev

클릭시 모든 제출 버튼의 값을 변경하는 방법은 무엇입니까?

분류에서Dev

버튼 클릭시 툴바 색상을 변경하는 방법은 무엇입니까?

분류에서Dev

클릭 할 때 버튼의 색상을 변경하고 다른 버튼을 클릭하면 원래 색상으로 다시 변경하는 방법은 무엇입니까?

분류에서Dev

vuejs에서 모든 필드를 채운 후 버튼 색상을 변경하는 방법은 무엇입니까?

분류에서Dev

Unity에서 버튼의 텍스트 및 이미지 색상을 변경하는 방법은 무엇입니까?

분류에서Dev

onsenui에서 선택한 "세그먼트 버튼"의 색상을 변경하는 방법은 무엇입니까?

분류에서Dev

JavaFX에서 fxml을 사용하여 버튼을 클릭 한 후 BorderPane의 한 부분을 다시로드하는 방법은 무엇입니까?

분류에서Dev

배낭 대시 보드에서 행 또는 열의 색상을 변경하는 방법은 무엇입니까?

분류에서Dev

ASP.NET 버튼 클릭 + 행 항목에서 테이블 행의 배경색을 변경하는 방법은 무엇입니까?

분류에서Dev

클릭시 색상을 변경하고 하나의 버튼을 선택한 상태로로드하는 방법

분류에서Dev

Android에서 사용자 정의 버튼을 클릭하여 검색을 여는 방법은 무엇입니까?

분류에서Dev

Android에서 버튼 색상을 변경하는 방법은 무엇입니까?

분류에서Dev

UIAlertController의 버튼은 클릭시 색상을 변경합니다. 해결하는 방법? - 빠른

분류에서Dev

문서의 배경색을 변경할 수있는 버튼을 만드는 방법은 무엇입니까?

분류에서Dev

링크 버튼의 배경색 속성을 클릭 한 경우에만 표시되도록 설정하는 방법은 무엇입니까?

분류에서Dev

버튼 클릭시 새 패널을 만드는 방법은 무엇입니까?

분류에서Dev

다른 클래스에서 버튼의 속성을 변경하는 방법은 무엇입니까?

분류에서Dev

여러 버튼을 클릭 할 때 대화 상자 내에서 TextView의 텍스트를 변경하는 방법은 무엇입니까? kotlin 사용

분류에서Dev

사용자가 react-router-dom에서 뒤로 버튼을 클릭 할 때 구성 요소의 상태를 변경하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    React Native에서 클릭 할 때 각 버튼의 색상을 변경하는 방법은 무엇입니까?

  2. 2

    Flutter에서 여러 버튼 중 하나의 버튼 색상을 변경하는 방법은 무엇입니까?

  3. 3

    클릭 할 때 버튼의 색상을 변경하고 다음 클릭에서 기본 색상으로 되 돌리는 방법은 무엇입니까?

  4. 4

    클릭시 버튼의 값을 변경하는 방법은 무엇입니까?

  5. 5

    버튼을 클릭하여 SVG 요소의 색상을 변경하는 방법은 무엇입니까?

  6. 6

    SWIFTUI. 클릭 후 버튼의 색상을 영구적으로 변경하는 방법은 무엇입니까?

  7. 7

    NSTabView에서 탭 버튼의 색상과 뷰 자체를 변경하는 방법은 무엇입니까?

  8. 8

    Android에서 두 개 이상의 버튼 클릭으로 카메라를 여는 방법은 무엇입니까?

  9. 9

    R Shiny에서 상자의 축소 / 확장 버튼 색상을 변경하는 방법은 무엇입니까?

  10. 10

    버튼 클릭시 카운트 타이머의 값을 얻는 방법은 무엇입니까?

  11. 11

    클릭시 모든 제출 버튼의 값을 변경하는 방법은 무엇입니까?

  12. 12

    버튼 클릭시 툴바 색상을 변경하는 방법은 무엇입니까?

  13. 13

    클릭 할 때 버튼의 색상을 변경하고 다른 버튼을 클릭하면 원래 색상으로 다시 변경하는 방법은 무엇입니까?

  14. 14

    vuejs에서 모든 필드를 채운 후 버튼 색상을 변경하는 방법은 무엇입니까?

  15. 15

    Unity에서 버튼의 텍스트 및 이미지 색상을 변경하는 방법은 무엇입니까?

  16. 16

    onsenui에서 선택한 "세그먼트 버튼"의 색상을 변경하는 방법은 무엇입니까?

  17. 17

    JavaFX에서 fxml을 사용하여 버튼을 클릭 한 후 BorderPane의 한 부분을 다시로드하는 방법은 무엇입니까?

  18. 18

    배낭 대시 보드에서 행 또는 열의 색상을 변경하는 방법은 무엇입니까?

  19. 19

    ASP.NET 버튼 클릭 + 행 항목에서 테이블 행의 배경색을 변경하는 방법은 무엇입니까?

  20. 20

    클릭시 색상을 변경하고 하나의 버튼을 선택한 상태로로드하는 방법

  21. 21

    Android에서 사용자 정의 버튼을 클릭하여 검색을 여는 방법은 무엇입니까?

  22. 22

    Android에서 버튼 색상을 변경하는 방법은 무엇입니까?

  23. 23

    UIAlertController의 버튼은 클릭시 색상을 변경합니다. 해결하는 방법? - 빠른

  24. 24

    문서의 배경색을 변경할 수있는 버튼을 만드는 방법은 무엇입니까?

  25. 25

    링크 버튼의 배경색 속성을 클릭 한 경우에만 표시되도록 설정하는 방법은 무엇입니까?

  26. 26

    버튼 클릭시 새 패널을 만드는 방법은 무엇입니까?

  27. 27

    다른 클래스에서 버튼의 속성을 변경하는 방법은 무엇입니까?

  28. 28

    여러 버튼을 클릭 할 때 대화 상자 내에서 TextView의 텍스트를 변경하는 방법은 무엇입니까? kotlin 사용

  29. 29

    사용자가 react-router-dom에서 뒤로 버튼을 클릭 할 때 구성 요소의 상태를 변경하는 방법은 무엇입니까?

뜨겁다태그

보관