Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
83ef964a
Commit
83ef964a
authored
Apr 08, 2016
by
Viktor Lidholt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Updates selection controls gallery demo (#3225)
parent
34f23cc4
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
215 additions
and
45 deletions
+215
-45
selection_controls_demo.dart
...es/material_gallery/lib/demo/selection_controls_demo.dart
+215
-45
No files found.
examples/material_gallery/lib/demo/selection_controls_demo.dart
View file @
83ef964a
...
...
@@ -4,74 +4,244 @@
import
'package:flutter/material.dart'
;
import
'../gallery/demo.dart'
;
const
String
_checkboxText
=
"# Checkboxes
\n
"
"Checkboxes allow the user to select multiple options from a set."
;
const
String
_checkboxCode
=
"""// Member variable holding the checkbox's value.
bool checkboxValue = false;
// Create a checkbox.
new Checkbox(
value: checkboxValue,
onChanged: (bool value) {
setState(() {
checkboxValue = value;
}
);
})
// Create a disabled checkbox.
// Checkboxes are disabled when onChanged isn't
// specified or null.
new Checkbox(value: false)"""
;
const
String
_radioText
=
"# Radio buttons
\n
"
"Radio buttons allow the user to select one option from a set. Use radio "
"buttons for exclusive selection if you think that the user needs to see "
"all available options side-by-side."
;
const
String
_radioCode
=
"""// Member variable holding value.
int radioValue = 0;
// Method setting value.
void handleRadioValueChanged(int value) {
setState(() {
radioValue = value;
});
}
// Creates a set of radio buttons.
new Row(
children: <Widget>[
new Radio<int>(
value: 0,
groupValue: radioValue,
onChanged: handleRadioValueChanged
),
new Radio<int>(
value: 1,
groupValue: radioValue,
onChanged: handleRadioValueChanged
),
new Radio<int>(
value: 2,
groupValue: radioValue,
onChanged: handleRadioValueChanged
)
]
);
// Creates a disabled radio button.
new Radio<int>(
value: 0,
groupValue: 0
);"""
;
const
String
_switchText
=
"# Switches
\n
"
"On/off switches toggle the state of a single settings option. The option "
"that the switch controls, as well as the state it’s in, should be made "
"clear from the corresponding inline label."
;
const
String
_switchCode
=
"""// Member variable holding value.
bool switchValue = false;
// Create a switch.
new Switch(
value: switchValue,
onChanged: (bool value) {
setState(() {
switchValue = value;
}
);
})
// Create a disabled switch.
// Switches are disabled when onChanged isn't
// specified or null.
new Switch(value: false)"""
;
class
SelectionControlsDemo
extends
StatefulWidget
{
@override
_SelectionControlsDemoState
createState
()
=>
new
_SelectionControlsDemoState
();
}
class
_SelectionControlsDemoState
extends
State
<
SelectionControlsDemo
>
{
bool
_checkboxValue
=
false
;
int
_radioValue
=
0
;
bool
_switchValue
=
false
;
@override
Widget
build
(
BuildContext
context
)
{
List
<
ComponentDemoTabData
>
demos
=
<
ComponentDemoTabData
>[
new
ComponentDemoTabData
(
tabName:
"CHECKBOX"
,
description:
_checkboxText
,
widget:
buildCheckbox
(),
exampleCode:
_checkboxCode
),
new
ComponentDemoTabData
(
tabName:
"RADIO"
,
description:
_radioText
,
widget:
buildRadio
(),
exampleCode:
_radioCode
),
new
ComponentDemoTabData
(
tabName:
"SWITCH"
,
description:
_switchText
,
widget:
buildSwitch
(),
exampleCode:
_switchCode
)
];
void
_setCheckboxValue
(
bool
value
)
{
setState
(()
{
_checkboxValue
=
value
;
}
);
return
new
TabbedComponentDemoScaffold
(
title:
'Selection Controls'
,
demos:
demos
);
}
void
_setRadioValue
(
int
value
)
{
setState
(()
{
_radioValue
=
value
;
});
}
bool
checkboxValueA
=
true
;
bool
checkboxValueB
=
false
;
int
radioValue
=
0
;
bool
switchValue
=
false
;
void
_setSwitchValue
(
bool
value
)
{
void
handleRadioValueChanged
(
int
value
)
{
setState
(()
{
_switch
Value
=
value
;
radio
Value
=
value
;
});
}
@override
Widget
build
(
BuildContext
context
)
{
return
new
Scaffold
(
appBar:
new
AppBar
(
title:
new
Text
(
'Selection controls'
)),
body:
new
Column
(
Widget
buildCheckbox
()
{
return
new
Align
(
alignment:
new
FractionalOffset
(
0.5
,
0.4
),
child:
new
Column
(
mainAxisAlignment:
MainAxisAlignment
.
collapse
,
children:
<
Widget
>[
new
Row
(
mainAxisAlignment:
MainAxisAlignment
.
collapse
,
children:
<
Widget
>[
new
Checkbox
(
value:
_checkboxValue
,
onChanged:
_setCheckboxValue
),
new
Checkbox
(
value:
false
),
// Disabled
new
Checkbox
(
value:
true
),
// Disabled
],
mainAxisAlignment:
MainAxisAlignment
.
spaceAround
new
Checkbox
(
value:
checkboxValueA
,
onChanged:
(
bool
value
)
{
setState
(()
{
checkboxValueA
=
value
;
});
}),
new
Checkbox
(
value:
checkboxValueB
,
onChanged:
(
bool
value
)
{
setState
(()
{
checkboxValueB
=
value
;
});
})
]
),
new
Row
(
children:
<
int
>[
0
,
1
,
2
].
map
((
int
i
)
{
return
new
Radio
<
int
>(
value:
i
,
groupValue:
_radioValue
,
onChanged:
_setRadioValue
);
}).
toList
(),
mainAxisAlignment:
MainAxisAlignment
.
spaceAround
),
mainAxisAlignment:
MainAxisAlignment
.
collapse
,
children:
<
Widget
>[
// Disabled checkboxes
new
Checkbox
(
value:
true
),
new
Checkbox
(
value:
false
)
]
)
]
)
);
}
Widget
buildRadio
()
{
return
new
Align
(
alignment:
new
FractionalOffset
(
0.5
,
0.4
),
child:
new
Column
(
mainAxisAlignment:
MainAxisAlignment
.
collapse
,
children:
<
Widget
>[
new
Row
(
children:
<
int
>[
0
,
1
].
map
((
int
i
)
{
return
new
Radio
<
int
>(
value:
i
,
groupValue:
0
);
// Disabled
}).
toList
(),
mainAxisAlignment:
MainAxisAlignment
.
spaceAround
mainAxisAlignment:
MainAxisAlignment
.
collapse
,
children:
<
Widget
>[
new
Radio
<
int
>(
value:
0
,
groupValue:
radioValue
,
onChanged:
handleRadioValueChanged
),
new
Radio
<
int
>(
value:
1
,
groupValue:
radioValue
,
onChanged:
handleRadioValueChanged
),
new
Radio
<
int
>(
value:
2
,
groupValue:
radioValue
,
onChanged:
handleRadioValueChanged
)
]
),
// Disabled radio buttons
new
Row
(
mainAxisAlignment:
MainAxisAlignment
.
collapse
,
children:
<
Widget
>[
new
Switch
(
value:
_switchValue
,
onChanged:
_setSwitchValue
),
new
Switch
(
value:
false
),
// Disabled
new
Switch
(
value:
true
),
// Disabled
],
mainAxisAlignment:
MainAxisAlignment
.
spaceAround
),
],
mainAxisAlignment:
MainAxisAlignment
.
spaceAround
new
Radio
<
int
>(
value:
0
,
groupValue:
0
),
new
Radio
<
int
>(
value:
1
,
groupValue:
0
),
new
Radio
<
int
>(
value:
2
,
groupValue:
0
)
]
)
]
)
);
}
Widget
buildSwitch
()
{
return
new
Align
(
alignment:
new
FractionalOffset
(
0.5
,
0.4
),
child:
new
Row
(
mainAxisAlignment:
MainAxisAlignment
.
collapse
,
children:
<
Widget
>[
new
Switch
(
value:
switchValue
,
onChanged:
(
bool
value
)
{
setState
(()
{
switchValue
=
value
;
});
}),
// Disabled switches
new
Switch
(
value:
true
),
new
Switch
(
value:
false
)
]
)
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment