当前位置: 首页 > 知识库问答 >
问题:

我如何使应用程序响应其他较小的决议。我用过媒体查询,但我没有很好地工作

齐胜涝
2023-03-14

当我在屏幕较大的设备中设计这个应用程序布局时,它工作得非常好(1920x1080),但当我在屏幕较小的设备中运行应用程序时,底部按钮没有显示..我能做什么呢?mediaquery是否支持列部件...?我应该用另一种方法来代替Mediaquery吗?

这是主飞镖....//不包括运行应用程序//

return ResponsiveWidget(
          builder: (context,constraints){
            return Stack(
            children: <Widget>[
              new Container(
                decoration:new BoxDecoration(
                  image: new DecorationImage(
                    image: new AssetImage(_Image()()),
                    fit: BoxFit.cover,
                  ),
                ),
              ),
       Scaffold(
          backgroundColor:Colors.transparent,
            appBar:AppBar(
              backgroundColor:Colors.transparent,
              elevation:0.0,
            ),
            drawer:Drawer(
              child: ListView(
                children: <Widget>[
                  DrawerHeader(
                  child: Text('Drawer Header',
                  style:TextStyle(
                    fontSize: 30.0,
                    ),
                  ),
                  decoration: BoxDecoration(
                  color: Colors.green[300],
                  ),
                  )],
              ),
            ),
            body:Column(
                children: <Widget>[
                  Row(
                    crossAxisAlignment:CrossAxisAlignment.center,
                    mainAxisAlignment:MainAxisAlignment.spaceEvenly,
                    children: <Widget>[
                      SizedBox(width:10,height:10,),
                      Text(
                        "NAME",
                        style:TextStyle(
                          fontSize:40.0,
                          fontWeight:FontWeight.bold,
                          color:Colors.white,
                        ),
                      ),
                      SizedBox(width:10),
                    ],
                    ),
                  SizedBox(height:20),

                  GestureDetector(
                    onTap:(){
                      print("Clicked");

                    },
                    child: CircleAvatar(
                      radius:80,
                      backgroundImage:_decideImageView(),
                    ),
                  ),

                SizedBox(height: 30,),
                Text("Text",
                      style:TextStyle(
                        fontStyle:FontStyle.italic,
                        fontSize:15,
                        color:Colors.white,
                        ),  
                      ),

                SizedBox(height: 10,),
                Text("Text",
                      style:TextStyle(
                        fontFamily:'mrsmonster',
                        fontSize:20,
                        color:Colors.white,
                        ), 
                       ),

                 SizedBox(height:50,),

                FlatButton(child:Text(
                  "TExt",
                  style:TextStyle(
                    fontWeight:FontWeight.bold,
                    fontSize:30,
                    color:Colors.white,
                        ),
                      ),
                  shape: RoundedRectangleBorder(
                      borderRadius: new BorderRadius.circular(30.0),
                          //side: BorderSide(color: Colors.red)
                            ),
                  color:Hexcolor('#149da5'),
                  padding:EdgeInsets.fromLTRB(30, 20, 30, 20),
                  onPressed: (){
                      setState(() {});
                  },
                ),

                SizedBox(height:10,),

                FlatButton(child:Text(
                  "Text",
                  style:TextStyle(
                    fontWeight:FontWeight.bold,
                    fontSize:30,
                    color:Colors.white,
                  ),
                  ),
                  shape: RoundedRectangleBorder(
                      borderRadius: new BorderRadius.circular(30.0),
                          //side: BorderSide(color: Colors.red)
                            ),
                  color:Hexcolor('#f4856b'),
                  padding:EdgeInsets.fromLTRB(30, 20, 30, 20),
                  onPressed: (){
                      setState(() {});
                    },
                    ),
                  ],
                  ),
                )
              ]
            );
            );

这是响应小部件

import 'package:app/SizeInformation.dart';
import 'package:flutter/material.dart';



    class ResponsiveWidget extends StatelessWidget {


        final AppBar appBar;
        final Drawer drawer;
        final Widget Function(BuildContext context,SizeInformation constraints) builder;
      ResponsiveWidget({@required this.builder,this.appBar,this.drawer});


      @override
      Widget build(BuildContext context) {

        var width = MediaQuery.of(context).size.width;
        var height = MediaQuery.of(context).size.height;
        var orientation = MediaQuery.of(context).orientation;

        SizeInformation information = SizeInformation(width,height,orientation);



         return Stack(children: <Widget>[
                Scaffold(
              drawer:drawer,
              appBar:appBar,
              body: builder(context,information),

            ),
         ]
         );
      }
    }

共有1个答案

东方化
2023-03-14

您应该在脚手架体内使用堆栈,而不是用堆栈包装脚手架。你只能在一个屏幕上使用一个脚手架。你的所作所为是错的...不,它不起作用。任何在脚手架身体将自动调整到您的屏幕分辨率...因此无需手动操作。这里有一个问题,如何设置背景图像而不使用堆栈小部件Flutter SDK设置背景图像,所以甚至不需要使用堆栈

 类似资料:
  • 我正在做一个装在盒子里的计数器。我试图使这个计数器对不同的屏幕大小做出响应,但由于某些原因,我试图使用的媒体查询将无法工作。 我曾尝试将设备宽度更改为768px以下,但查询对计数器没有影响,我不确定原因。我已经包括了计数器的HTML/PHP代码以及CSS。有人知道为什么它不起作用吗 我已确保此标签包含在文档的标题中。 超文本标记语言: CSS:

  • 我试图开发一个android应用程序,可以擦除其他应用程序的缓存数据,我试图浏览所有的博客,但没有一个对我有效,我可以通过以下代码清除我的应用程序的缓存 我想清除其他应用程序的缓存,可以任何机构请帮助我,如果我错了请纠正我,提前谢谢。

  • 正在启动lib\main。调试模式下STK L21上的dart。。。正在运行Gradle任务“assembleDebug”。。。 失败:生成失败,出现异常。 问题:配置根项目“android”时出现问题 无法解析配置“classpath”的所有项目。无法解析com。Android工具。版本:gradle:4.1.0。要求:项目: > 尝试:使用--stacktrac选项运行以获取堆栈跟踪。使用--

  • 我通过运行以下curl命令。 在我的java spring boot项目中,我有以下几点: 然而,在邮递员我得到以下回应:

  • 我在CSS中有一些元素,我使用媒体查询来表示屏幕大小。当在桌面上改变浏览器的大小时,查询执行它们应该执行的操作。当使用Elementor中的手机、平板电脑和桌面按钮以及WordPress自定义按钮时,这些按钮不会起作用。他们似乎没有通过最大宽度/最小宽度来测量平板电脑模式。我的代码有什么问题,这些“模式”是如何建立的? 主要问题是“WordPress/Elementor使用哪些属性来确定您处于哪种

  • 问题内容: 我有一个看起来像这样的docker文件: 我需要在某些时候运行flask run来查看我在flask中创建的端点(在文件夹app下)。我该怎么做才能将此添加到此dockerfile? 我认为我还必须让flask运行其他应用程序,因为flask公开了其他应用程序正在收集的数据。我如何让flask调用其他应用程序并使其在后台运行? 问题答案: 我想你不想要那个入口点(也许你确实想要它,但是