Spla sh течет вне контейнера / FlatButton - Flutter - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь заставить spla sh соответствовать той же форме, что и мой Контейнер, у которого FlatButton имеет дочерний элемент.

При нажатии spla sh в настоящее время заполняет другую форму как показано здесь:

enter image description here

Мой код для виджета ниже:

import 'package:flutter/material.dart';

class RoundedButton extends StatelessWidget {

const RoundedButton( {this.buttonColor, this.buttonTitle, @required this.onPressed});

  final Color buttonColor;
  final String buttonTitle;
  final Function onPressed;

  @override
  Widget build(BuildContext context) {
    return Container(
      margin: EdgeInsets.symmetric(vertical: 16.0),
      height: 42.0,
      width: 200.0,
      decoration: BoxDecoration(
        borderRadius: BorderRadius.circular(30.0),
        color: buttonColor,
      ),
      child: FlatButton(
        onPressed: onPressed,
        child: Text(
          buttonTitle,
          style: TextStyle(
              color: Colors.white
          ),
        ),
      ),
    );
  }
}

1 Ответ

1 голос
/ 04 апреля 2020

Вы можете использовать ClipRRect виджет, который обрезает базовый виджет закругленными углами и используя свойство borderRadius и передавая тот же radius как родительский виджет ie, Container, ie, оборачивая FlatButton с ClipRRect для достижения желаемого эффекта. Пример рабочего кода ниже:

body: Container(
      margin: EdgeInsets.symmetric(vertical: 16.0),
      height: 42.0,
      width: 200.0,
      decoration: BoxDecoration(
        borderRadius: BorderRadius.circular(30.0),
        color: Colors.red,
      ),
      child: ClipRRect(
      borderRadius: BorderRadius.circular(30),  
      child: FlatButton(
        onPressed: () {
          print('pressed');
        },
        child: Text(
          'Send',
          style: TextStyle(
              color: Colors.white
          ),
        ),
      ),
      )
    ),

Надеюсь, что это ответ на ваш вопрос.

...