我制作了一个容器,该容器应该显示周围有彩色边框的图片,并添加 borderRadius 将其设置为 8,但是后来我注意到,当我设置容器来剪辑内容时,它会使边框角褪色,如下所示:
我是这样写的
import 'package:flutter/material.dart';
final Color darkBlue = Color.fromARGB(255, 18, 32, 47);
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData.dark().copyWith(scaffoldBackgroundColor: darkBlue),
debugShowCheckedModeBanner: false,
home: Scaffold(
body: Center(
child: Container(
height: 300,
width: 300,
decoration: BoxDecoration(
border: Border.all(color: Colors.red, width: 2),
borderRadius: const BorderRadius.all(Radius.circular(16)),
),
clipBehavior: Clip.antiAlias,
child: Container(
constraints: BoxConstraints.expand(),
color: Colors.blue,
),
),
),
),
);
}
}
Run Code Online (Sandbox Code Playgroud)
我希望内容不与我的边框重叠,该怎么做?
我制作了一个 CustomScrollView 小部件,其中包含:
银应用栏
Sliver持久标头
银格
Sliver持久标头
银格
SliverPercientHeader 将是 SliverGrid 中项目的描述,一旦点击(我用 GestureDetector 包裹它),我希望滚动偏移量在 SliverPercientHeader 所在的中间发生变化。
怎么做?ScrollController 似乎只知道滚动范围,到目前为止,我还没有在 ScrollView (CustomScrollView 继承的)中看到任何可以给我单个小部件的偏移位置的属性。
最近我一直在用 flutter 开发移动应用程序,当我查看TickerProvider的源代码时,我看到以下几行:
mixin SingleTickerProviderStateMixin<T extends StatefulWidget> on State<T> implements TickerProvider {
Ticker? _ticker;
@override
Ticker createTicker(TickerCallback onTick) {
...
_ticker = Ticker(onTick, debugLabel: kDebugMode ? 'created by $this' : null);
return _ticker!;
}
...
}
Run Code Online (Sandbox Code Playgroud)
我对这条线很感兴趣:
return _ticker!;
Run Code Online (Sandbox Code Playgroud)
我在前面看到了带有感叹号的布尔标识符,这意味着它将返回它的相反值,但我从未见过这个。有人能告诉我这是做什么的吗?