如何将 Stack 子项剪切到其大小范围内。
在此图像中,有 3 个网格项目using orange color,每个项目都使用InkWell悬停方法在堆栈上对齐。虽然hover:falseWidgetPop PoP对 UI 不可见。使用对齐属性它可以工作,但是正如您所看到的,右上 GridItem 的item:2 pop POp小部件在外部可见Stack<Griditem>,而我想让它在堆栈外部不可见。我已经测试过使用clipBehavior:每个Clip enums.
我想Pop POp在小部件位于外部时隐藏它Stack,是的,我需要这种弹出效果。
对于 Flutter web,我使用的是 Flutter V2.5.2
重现问题的完整代码
import 'package:flutter/material.dart';
void main() => runApp(
const MaterialApp(
home: Appp(),
),
);
class Appp extends StatelessWidget {
const Appp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const BodyX();
}
}
class BodyX …Run Code Online (Sandbox Code Playgroud) 我已经能够使用文件选择器包打开我的文件,但我要将结果路径保存到pdfFile变量。
这是变量
File? pdfFile;
Run Code Online (Sandbox Code Playgroud)
我从下面的代码中收到错误
onPressed: () async {
FilePickerResult? result = await FilePicker.platform.pickFiles(
type: FileType.custom,
allowMultiple: false,
); //allowedExtensions: ['pdf', 'doc']);
if (result == null) return;
final path = result.files.single.path;
setState(() {
pdfFile = File(path); //2 positional argument(s) expected, but 1 found. and The argument type 'String?' can't be assigned to the parameter type 'List<Object>'.
});
}
Run Code Online (Sandbox Code Playgroud) 我在设计 flutter 程序时遇到了麻烦。
当我运行程序并调整程序大小时,一切都崩溃并且不正常。
你可以在下图中看到。

我喜欢在每个子组件及其组件的单独行中进行编程,在遇到一些问题后,我最近从 Android Studio 迁移到 VS Code,但我注意到在 VS Code 中,保存文件 (CTRL+S) 或重新启动 IDE,它会自动将代码缩小到一行,这非常令人沮丧,我该如何解决这个问题?
保存前

保存后

我遇到的问题是徽章不是函数并且无法读取它。第二期说,“名称‘徽章’是在库中定义的”。你们能帮我吗?
Widget _buildIconNotified() {
return Badge(
badgeColor: AppColor.actionColor,
padding: EdgeInsets.all(3),
position: BadgePosition.topEnd(top: -7, end: 0),
badgeContent: Text('', style: TextStyle(color: Colors.white),
),
child: _buildIcon(),
);
}
Run Code Online (Sandbox Code Playgroud)
我尝试从 pubspec.lock 中删除徽章依赖项。但一切都没有改变
我一直在尝试使我的自定义小部件可重复使用,但一直遇到死胡同...我希望能够使用更改图标的颜色、卡片内的文本、第一张卡片和随附的卡片...另外,我应该能够更改图标、图标内的文本以及每个按钮的点击功能应该能够在点击时执行不同的操作
class _CustomCardState extends State<CustomCard> {
@override
Widget build(BuildContext context) {
return Card(
margin: EdgeInsets.fromLTRB(20, 10, 20, 1),
color: Colors.red,
child: InkWell(
onTap: (){},
child: ListTile(
leading: Card(
color: Colors.white,
margin: EdgeInsets.all(5),
child: Padding(
padding: EdgeInsets.all(8.0),
child: Icon(
KycIcons.add_a_photo,
size: 20,
color: Colors.red,
),
),
),
title: Text('Uplaod your selfie',
style: TextStyle(color: Colors.white, fontSize: 16)),
),
),
);
}
}`
Run Code Online (Sandbox Code Playgroud) 我的代码中之前有这个错误{ (builde:(context,snapshot)
buildSearchresult() {
return FutureBuilder(
future: searchresultfuture,
builder: (context, snapshot) {
if (!snapshot.hasData) {
return CircularProgress();
}
});
}
Run Code Online (Sandbox Code Playgroud) 我正在使用简单的小部件创建自定义步进标头。我需要分别将第一个、中间和最后一个项目的数字之间的线(容器)对齐到 centerRight、center 和 centerLeft。
问题在于,Stack 被包装在一个 Exapanded 小部件内,该小部件是 Row 的子级,而 Row 又是列的子级。只要我们不使用列,Stack 的垂直对齐就可以正常工作。
但是,当我包裹Rowa 的内部时Column, 的Stack垂直对齐方式仅保留在顶部。请参阅下图了解输出。目前,调试控制台没有给出有关此问题的错误或警告。
我该如何解决这个问题?
class HomePage extends StatelessWidget {
const HomePage({Key? key}) : super(key: key);
Widget build(BuildContext context) {
return SafeArea(
child: Column(
children: [
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Expanded(
child: Stack(
children: [
Align(
alignment: Alignment.centerRight,
child: LayoutBuilder(
builder: (ctx, constraints) =>
Container(
width: constraints.maxWidth / 2.0,
height: 1,
color: Colors.black,
),
),
),
Align(
alignment: Alignment.center,
child: …Run Code Online (Sandbox Code Playgroud) 我试图在图标上实现这种类型的渐变,但无法做到这一点......
输出图像
我已经使用此代码,但它也没有显示任何效果
ShaderMask(
shaderCallback: (Rect bounds) => RadialGradient(
center: Alignment.center,
radius: 0.5,
colors: [
Colors.pink,
Colors.deepOrange,
],
tileMode: TileMode.mirror,
).createShader(bounds),
child: Icon(Icons.access_time,),),
Run Code Online (Sandbox Code Playgroud)
为了实现这个目标我应该做什么?
我尝试了解决此错误的方法。我知道我的缩进有问题。但我现在需要指导。-- flutter 版本:最新 -- android studio 版本:-最新 flutter 升级 -> 完成

flutter ×10
dart ×8
assets ×1
filepicker ×1
flutter-web ×1
icons ×1
row ×1
stack ×1
windows ×1