在我的flutter项目中,我对插件进行了一些更新,然后使用flutter升级。之后,每当我运行我的 flutter 项目时,它都会显示以下错误-
/C:/src/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/platform-3.0.2/lib/src/interface/local_platform.dart:46:19: Error: Member not found: 'packageRoot'.
io.Platform.packageRoot; // ignore: deprecated_member_use
^^^^^^^^^^^ FAILURE: Build failed with an exception.
* Where: Script 'C:\src\flutter\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1102
* What went wrong: Execution failed for task ':app:compileFlutterBuildDebug'.
> Process 'command 'C:\src\flutter\flutter\bin\flutter.bat'' finished with non-zero exit value 1
* Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org …Run Code Online (Sandbox Code Playgroud) 在我的颤振项目中,我已经初始化了一个行。在里面,我在一列中创建了一些文本,然后,我想添加一行,但它没有显示任何内容。出于这个原因,我使用了 Expanded 并遵循了给定的解决方案-
但他们都没有工作。
这是我的代码输出的图像-
这是我的代码-
Container(
color:Colors.white,
child: (
Row(
children: <Widget>[
Padding(
padding: const EdgeInsets.all(8.0),
child: Image(
height: 100,
width: 100,
image: NetworkImage("https://www.gstatic.com/webp/gallery/1.jpg"),
),
),
Column(
children: <Widget>[
Text("Book Name"),
Text("Author name"),
Divider(
color: Colors.black,
)
],
)
],
)
),
),
Run Code Online (Sandbox Code Playgroud)
所以,我需要在两个文本下面一行,并像下图一样显示它-
在我的 Flutter 项目中,我正在执行 API 调用以通过 GET 请求获取数据。从响应解析JSON 对象后,我只在Text小部件中显示值。虽然加载数据需要时间,但同时我的 Text 小部件显示为空。
对于 API 调用部分,我有以下代码-
class Webservice {
Future<T> load<T>(Resource<T> resource) async {
var jwt = await LocalStore().getJWT();
print(jwt);
final response = await http.get(resource.url,
headers: {
'Content-Type': 'application/json',
'token': '${Constants.TOKEN}',
'jwt': '$jwt',
}
);
if(response.statusCode == 200) {
print('${response.body}');
return resource.parse(response);
} else {
throw Exception('Failed to load data!');
}
}
}
Run Code Online (Sandbox Code Playgroud)
我为 JSON 解析创建了一个Model 类-
class Category {
int catNote;
int catTodo;
int catRem;
int catTag; …Run Code Online (Sandbox Code Playgroud) 在我的 Flutter 项目中,在一页中我有一些行,包括垂直对齐的卡片。现在,我希望这个屏幕可以滚动。
我曾尝试将该列替换为Listview,但没有奏效。我也尝试用SingleChildScrollview包装它,但没有用。它显示如下图-
这是代码 -
HomeFragment.dart
class HomeFragment extends StatefulWidget {
@override
_HomeFragmentState createState() => new _HomeFragmentState();
}
String jwt;
class _HomeFragmentState extends State<HomeFragment> {
List<LastEngagement> _lastEngagements = List<LastEngagement>();
@override
void initState() {
super.initState();
_getLastEngagement;
_getLastEngagement2();
}
void _getLastEngagement() {
Webservice().load(LastEngagement.allLastEngagement).then((newsArticles) => {
setState(() => {
_lastEngagements = newsArticles
})
});
}
void _getLastEngagement2() {
Webservice().load(LastEngagement.allLastEngagement).then((newsArticles) => {
setState(() => {
_lastEngagements = newsArticles
})
});
}
Card showCard(int index) {
return new …Run Code Online (Sandbox Code Playgroud) 在我的 Flutter 项目中,我想在一天中的特定时间安排闹钟,或者只是在该特定时间触发手机中的内置闹钟。
为此,我集成了 Flutter 的一个插件 -
https://pub.dev/packages/android_alarm_manager#-example-tab-
然后我完全按照该文档中给出的示例,在 Android Manifest 文件中添加了所有权限。
运行该项目后,它显示如下 -
它显示一个按钮来发出一个警报,但它只是更新文本。没有像我想要的那样设置任何警报,而且我不明白这个项目中发生了什么。
所以,我需要一个解决方案 - 我需要做哪些改变才能使该警报在我安排的固定时间工作,并且它应该从后台工作,因为我希望当我也将其从内存中删除时该警报也能工作。任何示例代码示例、完整文档或项目示例都会对这个问题有所帮助。
在我的 React-Native 项目中,我使用一个导航抽屉。在那个抽屉里,我声明了两个屏幕 - NoteMeHome和MakeNote。最初,NoteMeHome作为抽屉导航的初始路线启动。从NoteMeHome.js(第一个屏幕)类,我转到MakeNote.js(第二个屏幕)。在这个MakeNote.js类中,我使用了一张表单来填写。填写表单后,当用户点击提交时,它将返回到之前的屏幕(NoteMeHome.js) ,并且由于此NoteMeHome.js类中有 API 调用,因此它将刷新并显示提交的数据。
但是每当我从MakeNote屏幕转到NoteMeHome屏幕时,它只会更改为后退堆栈,但 NoteMeHome 屏幕不会刷新,因为它显示的是旧数据。
为了控制抽屉的流程和结构,我创建了一个名为 - 的类
NavigationDrawerStructure.js
class NavigationDrawerStructure extends Component {
static navigationOptions = {
header: null ,
};
toggleDrawer = () => {
this.props.navigationProps.toggleDrawer();
};
render() {
return (
<View style={{ flexDirection: 'row' }}>
<TouchableOpacity onPress={this.toggleDrawer.bind(this)}>
{/*Donute Button Image */}
<Icon name='menu'/>
</TouchableOpacity>
</View>
);
}
}
const FirstActivity_StackNavigator = …Run Code Online (Sandbox Code Playgroud) 我刚刚将我的 react-navigation 版本从 1..0.0-beta.11 更新到了最新的 react-navigation 版本 3。现在,在我的项目中,我在 HomeScreen.js 中使用了 createStackNavigator。这是代码-
主屏幕.js
import React from 'react';
import { StyleSheet, Text, View, AsyncStorage } from 'react-native';
import {
createStackNavigator
} from "react-navigation";
import WelcomeScreen from './WelcomeScreen';
import LoginScreen from './components/LoginScreen';
import NoteMeHome from './components/NoteMeHome';
import HomeDrawer from './HomeDrawer/HomeDrawer';
import SettingsScreen from './components/SettingsScreen';
class HomeScreen extends React.Component {
state = {
getValue: null,
}
async componentDidMount() {
const token = await AsyncStorage.getItem('token');
this.setState({ getValue: token });
}
render() {
console.log('#ZZZ:', this.state.getValue);
if(this.state.getValue …Run Code Online (Sandbox Code Playgroud) 在颤振项目中,我想用 JSON 正文执行DELETE请求。但是每当我尝试使用 http.delete 方法时,它都会向我展示 - 未定义命名参数“body”。
这是我的 API 删除请求的示例 -
url: 'BASE_URL'+注释/删除;
标题:
Content-Type : 'application/json',
token: 'my token',
jwt: ' my jwt'
Run Code Online (Sandbox Code Playgroud)
身体:
{
"id":"4"
}
Run Code Online (Sandbox Code Playgroud)
回复:
状态:“已删除”
因此,我需要使用上面提到的以下正文和标头发出有关 DELETE 请求,并且从 JSON 响应中我需要将状态值保存在字符串中。在这里,我需要有关代码的帮助来发出此删除请求。
请告知以上述方式发出 DELETE 请求并获得响应的整个过程。
在我的 Flutter 项目中,我想在卡片中显示数据列表的每一项。为此,我在Card 中设置了所有组件(例如图像、文本)。
它看起来像下图-
现在,问题是——
我想将卡片宽度固定为固定大小或包装内容。由于 Card 小部件没有height 和 width属性,那么我应该怎么做才能固定这张卡片的宽度。
这是我的代码-
Card showCard(int position, int index, AsyncSnapshot<List<ModelFrontList>> snapshot) {
return new Card(
elevation: 10.0,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Container(
height: 250,
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Image.network(
snapshot.data[position].products[index].image,
height: 150,
width: 50,
),
SizedBox(
width: 20.0,
),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text( snapshot.data[position].products[index].nameEnglish),
SizedBox(
height: 10.0,
),
Text( snapshot.data[position].products[index].nameEnglish),
],
),
),
], …Run Code Online (Sandbox Code Playgroud) 我想在屏幕右下角显示一个浮动操作按钮。但是由于我的屏幕中有一个 Scrollview 组件,我不知道该怎么做?在下图中,您可以看到-
ScrollView 中有一些卡片,但我想在屏幕右下方显示一个浮动操作按钮,该按钮将与卡片重叠。所以,如果有人用代码向我建议我会非常好 - 我该怎么做?
在我的 flutter 项目中,我有一个容器,下面有一些图标和文本。我希望将整个容器固定在屏幕底部,而不使用如下图所示的底部导航栏 -
因此,我需要一个完整的示例来修复底部的容器,并使用滚动视图将其他组件保留在 body 内。
在我的 flutter 项目中,我有一个SteamBuilder被一个 Container 包裹,它位于ListView 中,Scaffold 的主体部分是一个 Column。
它看起来像下图 -
在图中,蓝色部分是 Container 1 ,黄色部分是 Stream builder 1(我从 API 加载一些数据在里面),红色部分是 Container 2。
现在的问题是------
当我滚动容器 1 和容器 2 时,滚动效果很好,但是当我滚动StreamBuilder容器时,它不起作用。
这是我的代码-
return Scaffold(
body: Column(
children: <Widget>[
Expanded(
child: ListView(
children: <Widget>[
Container(
width: double.minPositive,
height: 200,
color: Colors.blue,
child: Text("Container 1"),
),
Container(
color: Colors.yellow,
height: 300,
child: StreamBuilder(
stream: bloc.allFrontList,
builder: (context, AsyncSnapshot<List<ModelFrontList>> snapshot){
if (snapshot.hasData) {
return buildList(snapshot);
} else if (snapshot.hasError) {
return …Run Code Online (Sandbox Code Playgroud) dart ×9
flutter ×9
javascript ×3
react-native ×3
android ×2
alarmmanager ×1
dataloader ×1
http ×1
ios ×1
json ×1
loading ×1
progress-bar ×1