我有两个垂直列表,一个在左侧,另一个在右侧,我们称它们为“选定列表”和“未选定列表”。我希望未选定列表中的项目从屏幕左侧动画到右侧并添加到选定列表中。其他项目应填充未选定列表中的空白空间,而选定列表中的项目应为新项目释放空间。 这是用户界面
我的代码:
class AddToFave extends StatefulWidget {
const AddToFave({Key? key}) : super(key: key);
@override
_AddToFaveState createState() => _AddToFaveState();
}
class _AddToFaveState extends State<AddToFave> {
List<String> unselected = [ '1','2','3','4','5','6','7','8','9','10'];
List<String> selected = [];
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Container(
width: MediaQuery.of(context).size.width / 5,
height: MediaQuery.of(context).size.height,
child: ListView.builder(
itemCount: selected.length,
itemBuilder: (context, index) {
return InkWell(
onTap: () {
unselected.add(selected[index]);
selected.removeAt(index);
setState(() {});
},
child: Container(
width: MediaQuery.of(context).size.width / 5, …Run Code Online (Sandbox Code Playgroud) 我想实现以下 Ui,其中包含一个多行 TextField,每行下方都有下划线。关于如何实现这个的任何想法?
Expanded(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 5.0),
child: TextField(
controller: problemItem.titleController,
decoration: const InputDecoration(
border: InputBorder.none),
keyboardType: TextInputType.multiline,
minLines: 3,
maxLines: 100,
)
),
),
Run Code Online (Sandbox Code Playgroud) 我在 Flutter 应用程序上使用 SignalR 推送通知,效果很好。我从后端获取消息并使用 flutter_local_notifications 显示通知。问题是 SignalR 服务会在一段时间后关闭。如何让我的应用程序保持在后台运行?甚至重新启动?
这是我的代码:
import 'dart:async';
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:isolate_test/Model/UserMessageModel.dart';
import 'package:signalr_core/signalr_core.dart';
import 'EndPointService.dart';
import 'NotificationService.dart';
class SignalRProvider {
static String appName = "NOTIFICATION";
static String? userName = "";
static String deviceName = "android_app";
static List<UserMessageModel> messages = <UserMessageModel>[];
HubConnection connection = HubConnectionBuilder()
.withUrl(
'my_url',
HttpConnectionOptions(
logging: (level, message) => print(message),
))
.withAutomaticReconnect()
.withHubProtocol(JsonHubProtocol())
.build();
Function(bool update)? onMessagesUpdateCallback;
SignalRProvider({
this.onMessagesUpdateCallback,
});
setUsername(String username) {
userName = username;
}
Future initSignalR(BuildContext context) async …Run Code Online (Sandbox Code Playgroud)