Я делаю пользовательский интерфейс и не знаю, как сделать границы второго виджета менее закругленными. Я пытался изменить высоту, но это все равно не помогло.
Что стереть (это второе после серого). Стоит ли сменить на BoxDecoration И добавить радиус.
Я попробовал и выдаёт экран полный ошибок. Вот код
import 'package:flutter/material.dart';
import 'package:flashy_tab_bar2/flashy_tab_bar2.dart';
import 'workout_post_detail.dart';
import 'editprofile_business.dart';
import 'seeall_workout.dart';
class ClientPage extends StatefulWidget {
@override
_ClientPageState createState() => _ClientPageState();
}
class _ClientPageState extends State<ClientPage> {
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
title: Text('Your profile',
style:
TextStyle(fontWeight: FontWeight.bold, color: Colors.white)),
backgroundColor: Colors.black,
),
body: Padding(
padding: EdgeInsets.all(10),
child: Stack(alignment: Alignment.bottomCenter, children: [
Column(children: [
SizedBox(
height: 10,
),
Center(
child: CircleAvatar(
radius: 60,
backgroundColor: Colors.white,
child: CircleAvatar(
radius: 46,
backgroundColor: Colors.grey.shade100,
child: Text('Pic')))),
SizedBox(
height: 10,
),
Text(
'Usermane',
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 15),
),
SizedBox(
height: 20,
),
Container(
height: 60,
width: MediaQuery.of(context).size.width * 0.90,
decoration: ShapeDecoration(
shape: const StadiumBorder(),
color: Colors.grey[200],
shadows: [
BoxShadow(
color: Colors.grey.shade400,
blurRadius: 10,
spreadRadius: 2,
),
]),
child: Padding(
padding: const EdgeInsets.only(left: 25.0, right: 25),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
'Subscribers',
style: TextStyle(fontWeight: FontWeight.bold),
),
Text(
'8',
style: TextStyle(
fontWeight: FontWeight.bold, color: Colors.grey),
),
],
),
),
),
SizedBox(
height: 20,
),
Container(
height: 190,
width: MediaQuery.of(context).size.width * 0.90,
decoration: ShapeDecoration(
shape: const StadiumBorder(),
color: Color.fromARGB(255, 255, 255, 255),
shadows: [
BoxShadow(
color: Colors.grey.shade400,
blurRadius: 10,
spreadRadius: 2,
),
]),
),
])
])));
}
}
это результат кода





Вы можете думать об этом как о (коробке с двумя полукругами на противоположных сторонах).
Итак, изображение содержит тысячу слов, существует корреляция между размерами коробки и площадью этого полукруга, мы говорим об этом круге, потому что на самом деле это то, что определяет округлость границ коробки.
Возвращаясь к проблеме: вы не можете вручную уменьшить или увеличить округлость границ контейнера границ стадиона, все, что вы можете сделать, это изменить размер контейнера, который повлияет на площадь каждого круга с обеих сторон и слабо отразится на округлость границ (здесь математика).
Если вам нужно явно определить округлость границ, вам следует использовать BoxDecoration вместо ShapeDecoration:
Container(
height: 100,
width: MediaQuery.of(context).size.width * 0.90,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
)
удалите форму и тени из оформления и добавьте borderRadius: BorderRadius.circular(10) для этого контейнера