如何修复图片内CircleAvatar当窗口正在调整大小的Flutter网页

myss37ts  于 2023-03-04  发布在  Flutter
关注(0)|答案(4)|浏览(151)

第一节第一节第一节第一节第一次
问题是我希望图像是固定的,即使窗口正在调整大小,这里的代码:

CircleAvatar(
     radius: 60.0,
     backgroundImage: const AssetImage('images/profile.png'),
     ),

我试着使用SizedBox,FittedBox对齐中心,没有任何实际工作,我想知道是否有可能使它固定在一个地方

pbpqsu0x

pbpqsu0x1#

尝试Align小部件,如下所示:

Align(
                  alignment: Alignment.topCenter,//aligns CircleAvatar to Top Center.
                  child: CircleAvatar(
                    radius: 50,//radius is 50
                    backgroundImage: NetworkImage(
                        'https://cdn.pixabay.com/photo/2015/03/03/20/42/man-657869_1280.jpg'),
                  ),
                ),

阅读此文章Documentation查看此文章
Image 1Image2

dauxcl2d

dauxcl2d2#

根据屏幕宽度使用媒体查询来改变圆形化身的半径,就像这样。

CircleAvatar(
     radius: MediaQuery.of(context).size.width * 0.4,
     backgroundImage: const AssetImage('images/profile.png'),
     ),

将0.4更改为所需的任何值

ru9i0ody

ru9i0ody3#

你可以使用use [nb_utils][1]包来创建响应式应用程序,要创建响应式虚拟形象,你可以使用radius 40.w.所以40.w将根据屏幕宽度进行响应。初始化main. dart文件中的nb_utils进行初始化。

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await initialize();

  runApp(MyApp());
}

支持平台
1.安卓
1.伊俄斯

  1. windows
    1.网络
  2. Linux操作系统
    1.马科斯
CircleAvatar(
             radius: 40.w,
             backgroundImage: const AssetImage('images/profile.png'),
             ),

您可以根据需要更改40.w。

z6psavjg

z6psavjg4#

我通过删除BackgroundImage并将图像裁剪为圆形而不是默认的矩形(我将其命名为“profile-modified”)来修复它。我使用Image.assest作为CircleAvatar的子对象,并使用fit: BoxFit.cover
修改后的代码如下所示:

CircleAvatar(
                  radius: 60.0,
                  child: Image.asset(
                    'images/profile-modified.png',
                     fit: BoxFit.cover,
                  ),
                ),

相关问题