我们如何实现使用onTap或onPressed在PopupMenuItem
这是我的代码:
actions: <Widget>[
PopupMenuButton(
icon: Icon(Icons.settings),
itemBuilder: (context) => [
PopupMenuItem(
child: Text("Settings"),
),
PopupMenuItem(
child: Text("Flutter.io"),
),
PopupMenuItem(
child: Text("Google.com"),
),
],
),
]
Run Code Online (Sandbox Code Playgroud)
我想在点击或单击 Settings PopupMenuItem 时导航到 SettingPage()。
即使在遵循下面提到的解决方案之后,甚至在导入 dart:js 之后,我也会收到此错误
Error: Not found: 'dart:js'
import 'dart:js';
Run Code Online (Sandbox Code Playgroud)
这是我的依赖项:
import 'package:bfdi_app/Profile/editProfile.dart';
import 'package:bfdi_app/models/user.dart';
import 'package:bfdi_app/services/collection.dart';
import 'package:bfdi_app/settings.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'dart:js';
Run Code Online (Sandbox Code Playgroud) 我希望搜索(TextFormField)栏看起来像这样,并且背景图像在容器中弯曲:
这是代码,我尝试将容器和搜索栏堆叠在一起,然后使用定位对齐搜索栏,但无法做到这一点。
Widget build(BuildContext context) {
return Scaffold(
body: SingleChildScrollView(
child: Container(
color: Colors.white,
child: Column(
children: <Widget>[
Stack(
children: <Widget>[
Container(
margin: EdgeInsets.only(bottom: 20.0),
alignment: Alignment.topCenter,
color:Colors.blueAccent,
height:250.0,
/*decoration: BoxDecoration(
borderRadius: BorderRadius.only(bottomLeft: Radius.circular(15.0))
),*/
//child: Image.asset("assets/bgImage.jpg"),
),
Positioned(
top: 155.0,
right: 0.0,
left: 0.0,
child: Container(
//color: Colors.white,
width: 400.0,
padding: EdgeInsets.symmetric(vertical: 20.0, horizontal: 55.0),
child: TextField(
decoration: InputDecoration(
fillColor: Colors.white,
contentPadding: EdgeInsets.symmetric(vertical: 15.0),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.grey),
borderRadius: BorderRadius.all(Radius.circular(20.0)),
),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.grey),
borderRadius: BorderRadius.all(Radius.circular(20.0)), …Run Code Online (Sandbox Code Playgroud) 我正在 AppBar 部分创建一个 PopupMenuButton()。
这是我的文件:
import 'dart:js';
import 'package:bfdi_app/settings.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
class ProfilePage extends StatefulWidget {
@override
_ProfilePageState createState() => _ProfilePageState();
}
class _ProfilePageState extends State<ProfilePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(
'App_Name',
),
actions: <Widget>[
PopupMenuButton(
icon: Icon(Icons.settings),
onSelected:(value){
if(value==0){
Navigator.push(
context,
MaterialPageRoute(builder: (context)=>SettingPage())
);
}
},
itemBuilder: (context) => [
PopupMenuItem(
child: Text("Settings"),
value:0,
],
),
],
),
}
Run Code Online (Sandbox Code Playgroud)
现在我在控制台日志中遇到错误:
Compiler message:
lib/Pages/addPost.dart:1:8: Error: Not found: 'dart:js'
import 'dart:js';
^ …Run Code Online (Sandbox Code Playgroud) 我有一个固定的电话号码,我想从我的 flutter 应用程序中发送关于该号码的短信。我怎样才能做到这一点?
我将 firebase_auth 升级到 ^0.18.0+1,但出现了一些错误:
我修复了上面的问题,但无法修复下面的问题:
我该如何解决这个问题?我应该创建一个 var 并将其传递到 updateInfo 方法中吗?
如何在颤振中实现三次单击按钮?
在三次单击时,该按钮将在 Firebase 数据库中存储一个条目。