【问题标题】:How to Put Border Radius in a Container in Flutter如何在 Flutter 中将边框半径放入容器中
【发布时间】:2022-09-27 22:49:33
【问题描述】:

我想为容器做类似 BorderRadius 之类的事情,当我收到此错误时,有点迷失了如何去做

https://i.postimg.cc/nMbY0vyx/Screenshot-1664289375.png

我该怎么做?几天前开始使用 Flutter。我需要一些帮助。源代码如下所示:

import \'dart:async\';
import \'dart:convert\';
import \'package:flutter/material.dart\';

import \'package:http/http.dart\' as http;

class TransactionDetails {
  String? avatar;
  String? name;
  String? date;
  String? amount;

  TransactionDetails({
    this.avatar,
    this.name,
    this.date,
    this.amount,
  });

  TransactionDetails.fromJson(Map<String, dynamic> json) {
    avatar = json[\'avatar\'];
    name = json[\'name\'];
    date = json[\'date\'];
    amount = json[\'amount\'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = <String, dynamic>{};
    data[\'avatar\'] = avatar;
    data[\'name\'] = name;
    data[\'date\'] = date;
    data[\'amount\'] = amount;
    return data;
  }
}

Future<List<TransactionDetails>> fetchAlbum() async {
  final response = await http.get(Uri.parse(
      \'https://brotherlike-navies.000webhostapp.com/people/people.php\'));

  if (response.statusCode == 200) {
    final List result = json.decode(response.body);
    return result.map((e) => TransactionDetails.fromJson(e)).toList();
  } else {
    throw Exception(\'Failed to load data\');
  }
}

class BaseScreen extends StatelessWidget {
  const BaseScreen({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          centerTitle: true,
          title: Text(
            \"My Bank\",
            style: TextStyle(
                fontFamily: \"Poppins\",
                color: Colors.white,
                fontWeight: FontWeight.bold),
          ),
          leading: Padding(
            padding: const EdgeInsets.all(8.0),
            child: CircleAvatar(
              backgroundImage:
                  NetworkImage(\'https://placeimg.com/640/480/people\'),
            ),
          ),
          actions: [
            IconButton(
                icon: Icon(Icons.notifications_active_outlined,
                    color: Colors.white, size: 27),
                onPressed: () {})
          ],
        ),
        body: SafeArea(
            child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            SizedBox(
              width: double.infinity,
              height: 150,
              child: ListView(
                scrollDirection: Axis.horizontal,
                children: [
                  Container(
                    decoration: BoxDecoration(
                        borderRadius: BorderRadius.all(Radius.circular(20))), // from here 
                    margin: const EdgeInsets.all(15),
                    width: 319,
                    height: 100,
                    color: Colors.green,
                    alignment: Alignment.center,
                    child: const Text(
                      \'\\$5200.00\',
                      style: TextStyle(
                          fontSize: 15,
                          color: Colors.white,
                          fontWeight: FontWeight.bold),
                    ),
                  ),
                  Container(
                    margin: const EdgeInsets.all(15),
                    width: 319,
                    height: 100,
                    color: Colors.green,
                    alignment: Alignment.center,
                    child: const Text(
                      \'\\$1200.00\',
                      style: TextStyle(
                          fontSize: 15,
                          color: Colors.white,
                          fontWeight: FontWeight.bold),
                    ),
                  ),
                  SizedBox(height: 24),
                ],
              ),
            ),
            Padding(
              padding: EdgeInsets.all(15),
              child: Text(
                \"Recent Transactions\",
                style: TextStyle(
                    fontSize: 14,
                    fontWeight: FontWeight.bold,
                    color: Colors.green),
              ),
            ),
            Center(
                child: FutureBuilder<List<TransactionDetails>>(
                    future: fetchAlbum(),
                    builder: (context, snapshot) {
                      if (snapshot.hasData) {
                        return ListView.builder(
                            shrinkWrap: true,
                            itemCount: snapshot.data!.length,
                            itemBuilder: (context, index) {
                              return ListTile(
                                leading: CircleAvatar(
                                  child: Image.network(
                                      snapshot.data![index].avatar.toString()),
                                ),
                                title:
                                    Text(snapshot.data![index].name.toString()),
                                trailing: Text(
                                    snapshot.data![index].amount.toString()),
                                subtitle:
                                    Text(snapshot.data![index].date.toString()),
                              );
                            });
                      } else if (snapshot.hasError) {
                        return Text(\'${snapshot.error}\');
                      }
                      return const CircularProgressIndicator();
                    }))
          ],
        )));
  }
}

就像我说的,我对此很陌生,我需要在这里澄清一下。

    标签: flutter dart flutter-layout


    【解决方案1】:

    错误是指,您可以在容器上使用colordecorationBoxDecoration 有一个可用于容器颜色的颜色参数。

    Container(
      decoration: BoxDecoration(
        color: Colors.green,
        borderRadius: BorderRadius.all(
          Radius.circular(20),
        ),
      ), 
      margin: const EdgeInsets.all(15),
      width: 319,
      height: 100,
      alignment: Alignment.center,
      child: const Text(
    

    【讨论】:

      【解决方案2】:

      改变这个

       Container(
                      decoration: BoxDecoration(
                       color: Colors.green, // if you defining decoration color should 
      be include in decoration
                          borderRadius: BorderRadius.all(Radius.circular(20))), // 
                      margin: const EdgeInsets.all(15),
                      width: 319,
                      height: 100,
                      alignment: Alignment.center,
                      child: const Text(
                        '\$5200.00',
                        style: TextStyle(
                            fontSize: 15,
                            color: Colors.white,
                            fontWeight: FontWeight.bold),
                      ),
      

      【讨论】:

        猜你喜欢
        • 2021-01-20
        • 1970-01-01
        • 2021-03-23
        • 2019-12-23
        • 2022-11-13
        • 2021-12-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多