首页 > 解决方案 > 如何更改单选按钮的半径

问题描述

我正在尝试制作如图所示的单选按钮,图片 但我无法将单选按钮的半径更改为此大小。有没有办法增加单选按钮的大小?

我已将单选按钮放在卡片小部件上,并在单击提交按钮时更改了卡片小部件的高度。但我无法更改单选按钮的大小。这是我尝试过的代码

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);
  final String title;
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  String question = 'Q 1', answer = 'A 3', defaultValue = 'nil';
  List<String> options = ['A 1', 'A 2', 'A 3', 'A 4'], info = ['', '', '', ''];
  List<double> elevationList = List.filled(4, 0.0);
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SingleChildScrollView(
        child: Column(
          children: <Widget>[
            ListTile(title: Text(question)),
            ListView.builder(
              shrinkWrap: true,
              itemCount: options.length,
              itemBuilder: (cc, ii) {
                return Card(
                  elevation: elevationList[ii],
                  color: Colors.white,
                  child: ListTile(
                    title: Text(options[ii]),
                    subtitle: Text(info[ii]),
                    leading: Radio(
                      value: options[ii],
                      groupValue: defaultValue,
                      onChanged: (String value) {
                        setState(() {
                          defaultValue = value;
                        });
                      },
                    ),
                  ),
                );
              },
            ),
            RaisedButton(
              onPressed: () {
                if (defaultValue == answer) {
                  setState(() {
                    int ind = options.indexOf(defaultValue);
                    elevationList[ind] = 3.0;
                    info[ind] = 'Correct Answer !';
                  });
                } else {
                  setState(() {
                    int wrongInd = options.indexOf(defaultValue);
                    info[wrongInd] = 'Wrong Answer !';
                    int correctInd = options.indexOf(answer);
                    elevationList[correctInd] = 3.0;
                    info[correctInd] = 'Correct Answer !';
                  });
                }
              },
              child: Text('Submit'),
            )
          ],
        ),
      ),
    );
  }
}

标签: androidbuttonflutterdart

解决方案


这个怎么样?

leading: Transform.scale(
  scale: 2,
  child: Radio(
    value: options[ii],
    groupValue: defaultValue,
    onChanged: (String value) {
      setState(() {
        defaultValue = value;
      });
    },
  ),
),

在此处输入图像描述


推荐阅读