Flutter Radio,RadioListTile以及Switch开关

Radio

在这里插入图片描述

import 'package:flutter/material.dart';

class RadioDemo extends StatefulWidget {
  @override
  _RadioDemoState createState() => _RadioDemoState();
}

class _RadioDemoState extends State<RadioDemo> {
  var sex=1;
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Title'),
      ),
      body: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          Row(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Text('男:'),
              Radio(value: 1, groupValue: sex, onChanged: (v){
                setState(() {
                  this.sex=v;
                });
              }),
              Text('女:'),
              Radio(value: 2, groupValue: sex, onChanged: (v){
                setState(() {
                  this.sex=v;
                });
              }),
            ],
          ),
          Row(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Text(sex==1?'男':'女')
            ],
          )
        ],
      ),
    );
  }
}

在这里插入图片描述

import 'package:flutter/material.dart';

class RadioDemo extends StatefulWidget {
  @override
  _RadioDemoState createState() => _RadioDemoState();
}

class _RadioDemoState extends State<RadioDemo> {
  var sex=1;
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Title'),
      ),
      body: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          RadioListTile(
            value: 1,
            onChanged: (v){
              setState(() {
                this.sex=v;
              });
            },
            title: Text('Title'),
            subtitle: Text('subtitle'),
            selected: this.sex==1,//文字也选中
            groupValue: this.sex,
          ),
          RadioListTile(
            value:2,
            onChanged: (v){
              setState(() {
                this.sex=v;
              });
            },
            title: Text('Title02'),
            subtitle: Text('subtitle02'),
            groupValue: this.sex,
            selected: this.sex==2,//文字也选中
            secondary: Image.network('http://5b0988e595225.cdn.sohucs.com/images/20171108/d29a69f9c7fc41d1aae4516df8ebfac3.jpeg',height: 60,width: 60,),
          )
        ],
      ),
    );
  }
}

Switch

在这里插入图片描述
在这里插入图片描述

import 'package:flutter/material.dart';

class RadioDemo extends StatefulWidget {
  @override
  _RadioDemoState createState() => _RadioDemoState();
}

class _RadioDemoState extends State<RadioDemo> {
  var flag=true;
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Title'),
      ),
      body: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          Row(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Switch(
                value: this.flag,
                onChanged: (v){
                  setState(() {
                    this.flag=v;
                  });
                },
              )
            ],
          )
        ],
      ),
    );
  }
}

猜你喜欢

转载自blog.csdn.net/qq_42572245/article/details/106747310
今日推荐