Skip to content

Commit d453010

Browse files
committed
release v1.5.0-stable
1 parent 73181a3 commit d453010

9 files changed

+290
-258
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
# v1.5.0-stable
2+
3+
1. refactor debug function.
4+
2. add a lot of comments.
5+
3. fix the click problem caused by pinned translate.
6+
4. optimize constraint version implementation.
7+
18
# v1.4.4-stable
29

310
optimize rotate.

README.md

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -160,12 +160,14 @@ two-way constraints, such as chains(not yet supported, please use with Flex).
160160
1. fixed size(>=0)
161161
2. matchParent(default)
162162
3. wrapContent(minimum and maximum are temporarily not supported)
163+
23. layout debugging
163164

164165
Follow-up development plan:
165166

166167
1. chain
167168
2. constraints visualization
168-
3. more...
169+
3. provides a visual editor to create layouts by dragging and dropping
170+
4. more...
169171

170172
Support platform:
171173

@@ -185,12 +187,12 @@ dependencies:
185187
flutter_constraintlayout:
186188
git:
187189
url: 'https://github.com/hackware1993/Flutter-ConstraintLayout.git'
188-
ref: 'v1.4.4-stable'
190+
ref: 'v1.5.0-stable'
189191
```
190192
191193
```yaml
192194
dependencies:
193-
flutter_constraintlayout: ^1.4.4-stable
195+
flutter_constraintlayout: ^1.5.0-stable
194196
```
195197
196198
```dart
@@ -1335,24 +1337,24 @@ class BarrierExample extends StatelessWidget {
13351337
5. Do you need to rearrange the order of event distribution?
13361338

13371339
These comparisons will not be a performance bottleneck, but will increase CPU usage. If you know
1338-
enough about the internals of ConstraintLayout, you can use ConstraintVersion to manually trigger
1339-
these operations to stop parameter comparison.
1340+
enough about the internals of ConstraintLayout, you can use ConstraintLayoutController to manually
1341+
trigger these operations to stop parameter comparison.
13401342

13411343
```dart
1342-
class ConstraintVersionExampleState extends State<ConstraintVersionExample> {
1344+
class ConstraintControllerExampleState extends State<ConstraintControllerExample> {
13431345
double x = 0;
13441346
double y = 0;
1345-
ConstraintVersion constraintVersion = ConstraintVersion();
1347+
ConstraintLayoutController controller = ConstraintLayoutController();
13461348
13471349
@override
13481350
Widget build(BuildContext context) {
13491351
return Scaffold(
13501352
appBar: const CustomAppBar(
1351-
title: 'Constraint Version',
1352-
codePath: 'example/constraint_version.dart',
1353+
title: 'Constraint Controller',
1354+
codePath: 'example/constraint_controller.dart',
13531355
),
13541356
body: ConstraintLayout(
1355-
constraintVersion: constraintVersion,
1357+
controller: controller,
13561358
children: [
13571359
GestureDetector(
13581360
child: Container(
@@ -1364,14 +1366,14 @@ class ConstraintVersionExampleState extends State<ConstraintVersionExample> {
13641366
setState(() {
13651367
x += details.delta.dx;
13661368
y += details.delta.dy;
1367-
constraintVersion.incPaintVersion();
1369+
controller.markNeedsPaint();
13681370
});
13691371
},
13701372
).applyConstraint(
13711373
size: 200,
13721374
centerTo: parent,
13731375
translate: Offset(x, y),
1374-
),
1376+
)
13751377
],
13761378
),
13771379
);

README_CN.md

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -134,12 +134,14 @@ build 耗时有时甚至超过渲染耗时。
134134
1. 固定大小(>=0)
135135
2. matchParent(default)
136136
3. wrapContent(暂不支持最大、最小设置)
137+
23. 布局调试
137138

138139
后续开发计划:
139140

140141
1.
141142
2. 约束可视化
142-
3. 更多...
143+
3. 提供可视化编辑器,通过拖拽创建布局
144+
4. 更多...
143145

144146
支持的平台:
145147

@@ -159,12 +161,12 @@ dependencies:
159161
flutter_constraintlayout:
160162
git:
161163
url: 'https://github.com/hackware1993/Flutter-ConstraintLayout.git'
162-
ref: 'v1.4.4-stable'
164+
ref: 'v1.5.0-stable'
163165
```
164166
165167
```yaml
166168
dependencies:
167-
flutter_constraintlayout: ^1.4.4-stable
169+
flutter_constraintlayout: ^1.5.0-stable
168170
```
169171
170172
```dart
@@ -1302,23 +1304,24 @@ class BarrierExample extends StatelessWidget {
13021304
4. 是否需要重排绘制顺序?
13031305
5. 是否需要重排事件分发顺序?
13041306

1305-
这些比对不会成为性能瓶颈,但会提高 CPU 占用率。如果你对 ConstraintLayout 内部原理足够了解,你可以使用 ConstraintVersion 来手动触发这些操作,停止参数比对。
1307+
这些比对不会成为性能瓶颈,但会提高 CPU 占用率。如果你对 ConstraintLayout 内部原理足够了解,你可以使用 ConstraintLayoutController
1308+
来手动触发这些操作,停止参数比对。
13061309

13071310
```dart
1308-
class ConstraintVersionExampleState extends State<ConstraintVersionExample> {
1311+
class ConstraintControllerExampleState extends State<ConstraintControllerExample> {
13091312
double x = 0;
13101313
double y = 0;
1311-
ConstraintVersion constraintVersion = ConstraintVersion();
1314+
ConstraintLayoutController controller = ConstraintLayoutController();
13121315
13131316
@override
13141317
Widget build(BuildContext context) {
13151318
return Scaffold(
13161319
appBar: const CustomAppBar(
1317-
title: 'Constraint Version',
1318-
codePath: 'example/constraint_version.dart',
1320+
title: 'Constraint Controller',
1321+
codePath: 'example/constraint_controller.dart',
13191322
),
13201323
body: ConstraintLayout(
1321-
constraintVersion: constraintVersion,
1324+
controller: controller,
13221325
children: [
13231326
GestureDetector(
13241327
child: Container(
@@ -1330,14 +1333,14 @@ class ConstraintVersionExampleState extends State<ConstraintVersionExample> {
13301333
setState(() {
13311334
x += details.delta.dx;
13321335
y += details.delta.dy;
1333-
constraintVersion.incPaintVersion();
1336+
controller.markNeedsPaint();
13341337
});
13351338
},
13361339
).applyConstraint(
13371340
size: 200,
13381341
centerTo: parent,
13391342
translate: Offset(x, y),
1340-
),
1343+
)
13411344
],
13421345
),
13431346
);

example/constraint_version.dart renamed to example/constraint_controller.dart

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,28 @@ import 'package:flutter_constraintlayout/flutter_constraintlayout.dart';
33

44
import 'custom_app_bar.dart';
55

6-
class ConstraintVersionExample extends StatefulWidget {
7-
const ConstraintVersionExample({Key? key}) : super(key: key);
6+
class ConstraintControllerExample extends StatefulWidget {
7+
const ConstraintControllerExample({Key? key}) : super(key: key);
88

99
@override
10-
State createState() => ConstraintVersionExampleState();
10+
State createState() => ConstraintControllerExampleState();
1111
}
1212

13-
class ConstraintVersionExampleState extends State<ConstraintVersionExample> {
13+
class ConstraintControllerExampleState
14+
extends State<ConstraintControllerExample> {
1415
double x = 0;
1516
double y = 0;
16-
ConstraintVersion constraintVersion = ConstraintVersion();
17+
ConstraintLayoutController controller = ConstraintLayoutController();
1718

1819
@override
1920
Widget build(BuildContext context) {
2021
return Scaffold(
2122
appBar: const CustomAppBar(
22-
title: 'Constraint Version',
23-
codePath: 'example/constraint_version.dart',
23+
title: 'Constraint Controller',
24+
codePath: 'example/constraint_controller.dart',
2425
),
2526
body: ConstraintLayout(
26-
constraintVersion: constraintVersion,
27+
controller: controller,
2728
children: [
2829
GestureDetector(
2930
child: Container(
@@ -35,7 +36,7 @@ class ConstraintVersionExampleState extends State<ConstraintVersionExample> {
3536
setState(() {
3637
x += details.delta.dx;
3738
y += details.delta.dy;
38-
constraintVersion.incPaintVersion();
39+
controller.markNeedsPaint();
3940
});
4041
},
4142
).applyConstraint(

example/home.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import 'charts.dart';
88
import 'circle_position.dart';
99
import 'coming_soon.dart';
1010
import 'complex_list.dart';
11-
import 'constraint_version.dart';
11+
import 'constraint_controller.dart';
1212
import 'dimension_ratio.dart';
1313
import 'grid.dart';
1414
import 'guideline.dart';
@@ -44,7 +44,7 @@ class ExampleHome extends StatelessWidget {
4444
'Circle Position': const CirclePositionExample(),
4545
'Pinned Position': const PinnedPositionExample(),
4646
'Arbitrary Position': const ArbitraryPositionExample(),
47-
'Constraint Version': const ConstraintVersionExample(),
47+
'Constraint Controller': const ConstraintControllerExample(),
4848
'Self wrapContent': const SelfWrapContentExample(),
4949
'Margin': const MarginExample(),
5050
'Translate': const TranslateExample(),

lib/flutter_constraintlayout.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ library flutter_constraintlayout;
22

33
export 'src/core.dart';
44
export 'src/extensions.dart';
5-
export 'src/utils.dart';
5+
export 'src/auxiliary.dart';

lib/src/utils.dart renamed to lib/src/auxiliary.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,14 +82,14 @@ bool debugEnsureNotEmptyString(String name, String? value) {
8282

8383
bool debugEnsurePercent(String name, double? percent) {
8484
if (percent == null || percent < 0 || percent > 1) {
85-
throw ConstraintLayoutException('$name is between [0,1].');
85+
throw ConstraintLayoutException('$name is between [0.0,1.0].');
8686
}
8787
return true;
8888
}
8989

9090
bool debugEnsureNegativePercent(String name, double? percent) {
9191
if (percent == null || percent < -1 || percent > 1) {
92-
throw ConstraintLayoutException('$name is between [-1,1].');
92+
throw ConstraintLayoutException('$name is between [-1.0,1.0].');
9393
}
9494
return true;
9595
}

0 commit comments

Comments
 (0)