- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在我的 flutter 应用程序的一个选项卡中处理购物 list ,但在输入字段下,当键盘出现时,我总是会看到奇怪的红色 block (红色 block 一直留在那里,直到键盘消失) RedBlock which appears with keyboard
单击该字段后显示的调试报告
Performing full restart...
Restarted app in 1.172ms.
D/ViewRootImpl@da3a8cd[MainActivity](28869): ViewPostImeInputStageprocessPointer 0
D/ViewRootImpl@da3a8cd[MainActivity](28869): ViewPostImeInputStageprocessPointer 1
I/flutter (28869): [{name: Lukas, id: 1, value: 32}, {name: Sophie, id: 2, value: 20}, {name: Peter, id: 3, value: 45}]
D/ViewRootImpl@da3a8cd[MainActivity](28869): ViewPostImeInputStage processPointer 0
D/ViewRootImpl@da3a8cd[MainActivity](28869): ViewPostImeInputStage processPointer 1
V/InputMethodManager(28869): Starting input: tba=android.view.inputmethod.EditorInfo@b63ece2 nm : com.yourcompany.flutterapp ic=io.flutter.plugin.editing.InputConnectionAdaptor@484e873
I/InputMethodManager(28869): [IMM] startInputInner - mService.startInputOrWindowGainedFocus
D/InputTransport(28869): Input channel constructed: fd=101
D/InputTransport(28869): Input channel destroyed: fd=100
D/InputMethodManager(28869): ISS - flag : 0Pid : 28869 view : com.yourcompany.flutterapp
D/ViewRootImpl@da3a8cd[MainActivity](28869): MSG_RESIZED: frame=Rect(0, 0 - 1080, 2220) ci=Rect(0, 63 - 0, 918) vi=Rect(0, 63 - 0, 918) or=1
D/ViewRootImpl@da3a8cd[MainActivity](28869): Relayout returned: oldFrame=[0,0][1080,2220] newFrame=[0,0][1080,2220] result=0x1 surface={isValid=true -887126016} surfaceGenerationChanged=false
在这里你可以看到我写的代码:
import 'dart:async';
import 'dart:core';
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:path_provider/path_provider.dart';
import 'package:sqflite/sqflite.dart';
class ShoppingBasket extends StatefulWidget {
@override
ShoppingBasketState createState() => new ShoppingBasketState();
}
class ShoppingBasketState extends State<ShoppingBasket> {
Directory documentsDirectory;
String dirPath;
Database database;
List<Map> listRecords;
Widget listView;
final TextEditingController _controller1 = new TextEditingController(); // name field
final TextEditingController _controller2 = new TextEditingController(); // value field
@override
void initState() {
listView = beforeDataFetchIsFinished();
getPathAndCheckForDbAndPrepareListView();
}
@override
Widget build(BuildContext context) {
return new Scaffold(
body: new Column(
children: <Widget>[
inputFieldCard(),
listView, //--> List view gets after all data was fetched here
],
),
);
}
//-----------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------
//View Build ------------------------------------------------------------------------
/// Set the listview variable with an CircularPorgressIndicator.
/// gets overriden if the real listview has finished.
Widget beforeDataFetchIsFinished() {
return new Container(
margin: new EdgeInsets.fromLTRB(0.0, 30.0, 0.0, 0.0),
child: new Center(
child: new CircularProgressIndicator(
strokeWidth: 2.0,
),
),
);
}
/// The Inputfield card in one methode.
/// Returns the InputCard as one widget.
Widget inputFieldCard() {
return new Container(
child: new Card(
child: new Container(
child: new Column(
children: <Widget>[
new Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new Container(
width: 150.0,
padding: new EdgeInsets.fromLTRB(10.0, 20.0, 10.0, 10.0),
child: new TextField(
controller: _controller1,
decoration: new InputDecoration(
hintText: 'Name...',
),
),
),
new Container(
width: 150.0,
padding: new EdgeInsets.fromLTRB(10.0, 20.0, 10.0, 10.0),
child: new TextField(
keyboardType: TextInputType.number,
controller: _controller2,
decoration: new InputDecoration(
hintText: 'Value...',
),
),
),
],
),
new Container(
padding: new EdgeInsets.fromLTRB(0.0, 0.0, 0.0, 20.0),
child: new RaisedButton(
color: Colors.green,
child: new Text('Insert Data', style: new TextStyle(color: Colors.white),),
onPressed: () {
insertToDb(_controller1.text, _controller2.text);
_controller1.clear();
_controller2.clear();
},
),
),
],
)
),
), //top card end
);
}
/// the CircularProgressIndicator gets overiden if this
/// methode gets all its data --> then rerender.
Widget injectListViewAfterAllDataIsFetched() {
return new Card(
child: new Container(
child: new ListView.builder(
shrinkWrap: true, //<-- Necessary because Listveiw inside Column
itemCount: listRecords == null ? 0 : listRecords.length,
itemBuilder: (BuildContext context, int index) {
return new ListTile(
title: new Text(listRecords[index]['name']),
);
},
),
),
);
}
//-----------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------
//Data-Base Operations --------------------------------------------------------------
/// Start up --> Open db and fetching data when complete
/// start render engine again.
Future<bool> getPathAndCheckForDbAndPrepareListView() async {
documentsDirectory = await getApplicationDocumentsDirectory();
String dirPath = documentsDirectory.path;
List content = documentsDirectory.listSync();
final File file = new File(dirPath + '/myDataBase.db');
if(!content.contains(file)) { //Check if db exists
await createDbIfNotExists(file); //if not create it
}
print(await getRecords());
listRecords = await getRecords();
print(listRecords);
setState(() {
listView = injectListViewAfterAllDataIsFetched();
});
return true;
}
/// Inserting data into the data base.
/// @return true.
Future<bool> insertToDb(String name, String value) async {
if(name != '' && value != '') {
var valueSql = int.parse(value);
String sql = 'INSERT INTO Test(name, value) VALUES("$name", $valueSql)';
await database.inTransaction(() async {
await database.rawInsert(sql);
});
listRecords = await getRecords();
setState(() {
listView = injectListViewAfterAllDataIsFetched();
});
return true;
} else {
return false;
}
}
/// Gives the whole Db back.
/// @return Map with all records.
Future<List<Map>> getRecords() async {
return await database.rawQuery('SELECT * FROM Test');
}
/// Creating the given File (should be an .db file).
/// @param file Gives the file (.db) which gets created.
/// @return true.
Future<bool> createDbIfNotExists(File file) async {
database = await openDatabase(file.path, version: 1,
onCreate: (Database db, int version) async {
await db.execute(
"CREATE TABLE Test (id INTEGER PRIMARY KEY, name TEXT, value INTEGER)");
});
return true;
}
}
你们中有人明白为什么会出现这种情况吗?并有解决它的智能解决方案?
编辑:一些照片显示我的键盘有快捷键和没有快捷键
最佳答案
我遇到了同样的问题。只需在脚手架中将 resizeToAvoidBottomPadding 设置为 false 即可解决问题。
关于input - Flutter TextField Widget 下奇怪的红色 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45573976/
当运行这段代码时,它会以默认大小打开窗口: View [ text "window open with default size" ] 如果 a 明确给出一个大小,它将打开一个具有该大小的窗口
我创建了一个 DataGridView 并添加了一个 DataGridViewImageColumn(使用设计器)。 DataGridView 具有“AllowUserToAddRows = true
如何实现红色数字指示器(例如电子邮件计数通知)? 最佳答案 您正在寻找的是 applicationIconBadgeNumber 属性,它是 UIApplication 的属性。 要从应用中的任何位置
我很想得到一些知道如何解释如何在红色 Node 中创建十六进制到“文本”解码器的人的意见。 我有一个 Elsys 传感器,可以生成包含温度、湿度等信息的有效载荷十六进制。 交付的有效负载是“0100d
我正在使用 node-red 程序,并且使用 OPCUA Node ,该 Node 在有效负载中返回对象数组。 我需要获取对象的一些变量,例如项目的nodeId;我尝试使用下一种格式: var new
我们开发了一个在 OS 6 及更高版本上使用 Blackberry BarcodeScanner 类解码 QR 码的应用程序。当调用条形码扫描仪屏幕时,操作系统对相机权限和应用程序的警告被隐藏,即它进
我需要 SprikeKit 方面的帮助或建议。我的应用程序/游戏通过了 Apple 审查,但后来我收到了一些关于图形的投诉(大红色 X)。我正在使用 spriteNodeWithImageNamed
有人可以看看我的 jsfiddle,看看是否可以使红色 div 在中间垂直对齐,并使红色 div 也居中。您必须使包含红色 div 的 div 具有一定高度 jsFiddle
我不希望我的子页面继承父主题的链接颜色(红色),而是我希望我的子页面上有白色链接,我应该在 html/css 中更改什么才能实现这一点? 父页面CSS a{ text-decoration:no
我想尽可能使用系统颜色。如何选择不包含在系统颜色中的颜色? 两者都是SystemColors WPF 类,SystemColors GetSysColor 的 WinForms 类和 COLOR_*
有谁知道如何以编程方式处理 Android HTC 设备红色(电源)按钮以停止我的操作。当用户在我的屏幕上时按下 REd 按钮时,我想停止运行我的一些操作。我知道对于像后退按钮这样的其他按钮,我可以使
嗨,我是图像处理方面的新手,现在我正在使用 python 处理图像以获得更多洞察力。但是,我对颜色 channel 的理解有点不满意。 在我看来,形状为 (400, 400, 3) 的 RGB 图像意
我正在遵循此处红色文档中的示例:http://static.red-lang.org/red-system-specs.html#section-14 这是我的代码: Red [] #import [
十分钟的谷歌搜索不断返回相同的答案,但在我的情况下无效。我想禁用 Aptana 为制作这些波浪线所做的一切。 我找到了几个指向 Window->Preferences->General->Editor
如何在 Red/System 中创建指向数组中第一个元素的指针? 将地址分配给指针没有问题: my-integer: 1 ptr: declare pointer! [integer!] ptr: :
我希望 webview 在按下后退按钮时显示上一页我正在使用 .canGoBack 来完成此操作,但“.canGoBack”和“.GoBack”带有红线下划线,声明 ==== “无法从静态上下文引用非
有谁知道为什么在 Xcode 项目的导航器中我的 Pods.xcodeproj 文件以红色列出?我假设这意味着 Xcode 无法找到该文件,那么我如何确保它确实存在于项目中。 谢谢! 最佳答案 在工作
Java 线程堆栈组织由以下描述 diagram in comments .所以 1 glibc guard page 似乎是由 pthread_attr_init(pthread_attr*) 设置
我在一个 Conceal 的模态 div 中有一个类似于 facebook 的按钮,当用户单击一个按钮时,模态就会出现。 不幸的是,出现的 facebook 按钮上有一个红色矩形,见下图: 我用的是I
我真的很想在 css 中创建红色的 instagram 泡泡用如图所示的圆形尖端: 除了圆头,我几乎什么都有,但我不确定我应该如何做到最好...... 这是我目前所拥有的: .notif { di
我是一名优秀的程序员,十分优秀!