mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Revert "Add library names to many sky libraries" This reverts commit 1337e0a803a54ee92d6dce7f8c4a6335f7cbb9fa. BUG= R=abarth@chromium.org Review URL: https://codereview.chromium.org/1142893007
64 lines
1.3 KiB
Dart
64 lines
1.3 KiB
Dart
// Copyright 2015 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
import '../fn.dart';
|
|
import 'button_base.dart';
|
|
import 'ink_well.dart';
|
|
|
|
typedef void ValueChanged(value);
|
|
|
|
class Radio extends ButtonBase {
|
|
Object value;
|
|
Object groupValue;
|
|
ValueChanged onChanged;
|
|
|
|
static final Style _style = new Style('''
|
|
width: 14px;
|
|
height: 14px;
|
|
border-radius: 7px;
|
|
border: 1px solid blue;
|
|
margin: 0 5px;'''
|
|
);
|
|
|
|
static final Style _highlightStyle = new Style('''
|
|
width: 14px;
|
|
height: 14px;
|
|
border-radius: 7px;
|
|
border: 1px solid blue;
|
|
margin: 0 5px;
|
|
background-color: orange;'''
|
|
);
|
|
|
|
static final Style _dotStyle = new Style('''
|
|
width: 10px;
|
|
height: 10px;
|
|
border-radius: 5px;
|
|
background-color: black;
|
|
margin: 2px;'''
|
|
);
|
|
|
|
Radio({
|
|
Object key,
|
|
this.onChanged,
|
|
this.value,
|
|
this.groupValue
|
|
}) : super(key: key);
|
|
|
|
UINode buildContent() {
|
|
return new EventListenerNode(
|
|
new StyleNode(
|
|
new InkWell(
|
|
children: value == groupValue ? [new Container(style: _dotStyle)] : []
|
|
),
|
|
highlight ? _highlightStyle : _style
|
|
),
|
|
onGestureTap: _handleClick
|
|
);
|
|
}
|
|
|
|
void _handleClick(_) {
|
|
onChanged(value);
|
|
}
|
|
}
|