操作背景图像中容器中的子图像

发布于 2025-01-10 15:55:29 字数 290 浏览 0 评论 0原文

我正在尝试操纵背景图像上图像的大小和位置。我尝试设置子图像的高度和宽度,但它没有缩小。

我想要的是缩小子图像(“邻居”)的大小,并将位置指定为从顶部开始的全屏幕的 1/4。

我能做什么有什么建议吗?

这是我当前的应用程序的外观:

这是我当前的应用程序的外观

这是代码:

这是代码

I am trying to manipulate the size and position of an image which are over a background image. I have tried to set the height and width of a child image but it does not shrink.

What I want is to shrink the size of a child image("Neighbor") and give a position to 1/4 of the full screen from the top.

Any suggestions of what I can do?

Here is how my current app looks like:

Here is how my current app looks like

Here is the code:

Here is the code

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

日久见人心 2025-01-17 15:55:29

您在寻找这样的东西吗?

class HomeView extends StatefulWidget {
  const HomeView({Key? key}): super(key: key);

  @override
  State<StatefulWidget> createState() => _HomeViewState();
}

class _HomeViewState extends State<HomeView> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Container(
        width: MediaQuery.of(context).size.width,
        constraints: const BoxConstraints.expand(),
        decoration: const BoxDecoration(
          image: DecorationImage(
            image: AssetImage(
              'assets/images/black-rocks.jpeg',
            ),
            fit: BoxFit.fill,
          ),
        ),
        child: FittedBox(
          fit: BoxFit.scaleDown,
          child: Image.asset(
            'assets/images/neighbor-name-and-logo.png',
            width: MediaQuery.of(context).size.height / 4,
          ),
        ),
      ),
    );
  }
}

Are you looking for something like this?

class HomeView extends StatefulWidget {
  const HomeView({Key? key}): super(key: key);

  @override
  State<StatefulWidget> createState() => _HomeViewState();
}

class _HomeViewState extends State<HomeView> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Container(
        width: MediaQuery.of(context).size.width,
        constraints: const BoxConstraints.expand(),
        decoration: const BoxDecoration(
          image: DecorationImage(
            image: AssetImage(
              'assets/images/black-rocks.jpeg',
            ),
            fit: BoxFit.fill,
          ),
        ),
        child: FittedBox(
          fit: BoxFit.scaleDown,
          child: Image.asset(
            'assets/images/neighbor-name-and-logo.png',
            width: MediaQuery.of(context).size.height / 4,
          ),
        ),
      ),
    );
  }
}
菊凝晚露 2025-01-17 15:55:29
  1. 您可以使用 Fractionaloffset 或 FractionallySizedBox

    ...
    容器(
    颜色:颜色.蓝色[200],
    对齐:FractionalOffset(0.7, 0.6),
    孩子:FractionallySizedBox(
    宽度系数:0.1,
    高度系数:1/3,
    子项:容器(颜色:Colors.red[900])
    ),
    ),
    ...

或者
您可以使用 https://velocityx.dev/docs/padding 插件并以百分比形式给出顶部填充或者
上下文.屏幕高度*0.4

  1. you can use Fractionaloffset or FractionallySizedBox

    ...
    Container(
    color: Colors.blue[200],
    alignment: FractionalOffset(0.7, 0.6),
    child: FractionallySizedBox(
    widthFactor: 0.1,
    heightFactor: 1/3,
    child: Container(color: Colors.red[900])
    ),
    ),
    ...

Or
you can use https://velocityx.dev/docs/padding Plugin and give the top padding in percentage or
context.screenHeight*0.4

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文