>

하나 이상의 화면에 공통적 인 위젯을 두 개 넣어야하는 플러터 응용 프로그램을 만들고 있습니다. 스크린 1의 빌드 방법 코드는 다음과 같습니다

 Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: app_color,
        body: _isLoading == false ? Stack(

          new Container(//used for whole screen ),
            Positioned(
              left: 0,
                    right: 0,
                    bottom: 0,
              //a bottom tab like which is common across screens
            ),
          ],
        )
      :
          //code to show progress indicator while loading data in background 
            Stack(
              children: <Widget>[
                Center(
                    child:Container(
                      height: 50,
                      width: 50,
                      child: CircularProgressIndicator(),
                    )
                ),
                Positioned(
                    left: 0,
                    right: 0,
                    bottom: 0,
                    //keep this to show bottom tab while loading 
                ),
              ],
            )

    );
  }

위의 코드에는 화면 하단에 둘 이상의 화면에서 공통으로 유지하려는 위젯이 있습니까? 어떻게하면 되나요? 나는 안드로이드에 대한 지식을 가지고 있으며이 경우 조각 트랜잭션을 사용하여 달성 할 수 있지만 여기에서 모든 화면에서 하단 위치 위젯을 유지해야합니다.이 문제는 화면 하단 위치 위젯을 변경 한 후 얼마 동안 사라지지만 그 하단을 원한다는 것입니다 위젯을 고정 상태로 유지하고 하단 위치 위젯이 아닌 화면 만 변경


  • 답변 # 1

    두 가지 중 하나를 수행 할 수 있습니다

    1- 맞춤 위젯 만들기

    common_view.dart 라는 파일을 만듭니다  뷰를 추가하십시오

    import 'package:flutter/material.dart';
    class CommonBottom extends StatelessWidget {
      CommonBottom();
      @override
      Widget build(BuildContext context) {
        return Positioned(
          left: 0,
          right: 0,
          .......
        );
      }
    }
    
    

    그런 다음 모든 페이지에서 CommonBottom() 로 사용하십시오.

    2-단일 페이지 앱으로 앱 만들기

    필요한 모든 페이지에 대해 상태 저장 위젯을 생성하고 가시성 위젯으로 래핑하여 페이지 내에서 렌더링하십시오.

  • 답변 # 2

    각 페이지에서 구현하지 않으면 모든 페이지에 대해 정적이지 않습니다. 그러려면 해당 클래스가 존재하는 파일을 가져 와서 직접 사용해야합니다.

    import 'packages/mycommonclass.dart';
    
    

    그런 다음 다른 페이지와 같은 곳에 배치하십시오.

  • 이전 java - 멀티 플레이어 난수 추측 게임 - 각 플레이어마다 난수를 생성하는 방법은 무엇입니까?
  • 다음 arrays - 어떻게하면 PHP에서 문자열을 쓸 수 있고 오류가 발생하지 않습니다