Size: a a a

Dart & Flutter по-русски

2020 December 20

M

Mitai in Dart & Flutter по-русски
который из них?
источник

M

Mitai in Dart & Flutter по-русски
Sergey
гайз, вдруг у кого есть видос с последнего dartUpP ?буду благодарен за реф
в закрепе чекай)
источник

S

Sergey in Dart & Flutter по-русски
Mitai
в закрепе чекай)
не заметил) спасибо бро!
источник

AL

Alex Leo in Dart & Flutter по-русски
Коллеги! Подскажите как исправить ошибку изолята в коде  https://dartpad.dev/4d58f511c67f3c0d02f34b9dc2f46559?

E/flutter ( 8525): [ERROR:flutter/shell/common/shell.cc(210)] Dart Error: error: import of dart:mirrors is not supported in the current Dart runtime
E/flutter ( 8525): [ERROR:flutter/shell/common/engine.cc(220)] Could not prepare to run the isolate.
E/flutter ( 8525): [ERROR:flutter/shell/common/engine.cc(159)] Engine not prepare and launch isolate.
E/flutter ( 8525): [ERROR:flutter/shell/common/shell.cc(491)] Could not launch engine with configuration.
источник

M

Mitai in Dart & Flutter по-русски
источник

AK

Anton Kowalski in Dart & Flutter по-русски
источник

AK

Anton Kowalski in Dart & Flutter по-русски
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

// ignore: must_be_immutable
class TreeView extends StatefulWidget {
 // ignore: non_constant_identifier_names
 List<TreeViewItem> Items = <TreeViewItem>[];

 // ignore: non_constant_identifier_names
 TreeView({this.Items});

 @override
 _TreeView createState() => _TreeView();
}

class _TreeView extends State<TreeView> {
 // ignore: non_constant_identifier_names
 List<TreeViewItem> Items = <TreeViewItem>[];
 int _selectedIndex;

 // ignore: non_constant_identifier_names
 void AddInItems(List<TreeViewItem> items, int level) {
   items.forEach((element) {
     element._level = level;
     Items.add(element);
     AddInItems(element._Items, element._level + 1);
   });
 }

 @override
 void initState() {
   // TODO: implement initState
   super.initState();
   AddInItems(widget.Items, 0);
 }

 @override
 Widget build(BuildContext context) {
   return ListView.builder(
     padding: EdgeInsets.zero,
     itemBuilder: (context, index) {
       TreeViewItem item = Items[index];
       if (item.IsExpanded == true && item._IsVisible == true) {
         item._Items.forEach((element) {
           element._IsVisible = true;
         });
       } else {
         item._Items.forEach((element) {
           element._IsVisible = false;
         });
       }
       return Padding(
         padding: EdgeInsets.only(
           left: item._level * 17.0,
         ),
         child: Visibility(
           child: ListTile(
             leading: Align(
               child: Padding(
                   padding: EdgeInsets.only(left: 30),
                   child: item._Items.length > 0
                       ? item.IsExpanded
                           ? Transform.rotate(
                               alignment: Alignment(-0.2, 0.3),
                               angle: 0.8,
                               child: Icon(Icons.arrow_forward_ios),
                             )
                           : Icon(Icons.arrow_forward_ios)
                       : Text("")),
               alignment: Alignment.center,
               widthFactor: 0,
             ),
             title: Text(item.Header),
             onTap: () {
               setState(() {
                 item.IsExpanded = !item.IsExpanded;
                 _selectedIndex = index;
               });
             },
             selectedTileColor: Colors.black12,
             selected: index == _selectedIndex,
           ),
           visible: item._IsVisible,
         ),
       );
     },
     itemCount: Items.length,
   );
 }
}

class TreeViewItem {
 String Header;
 List<TreeViewItem> _Items = new List<TreeViewItem>();
 bool IsExpanded = false; // ignore: non_constant_identifier_names
 bool _IsVisible; // ignore: non_constant_identifier_names, unused_field
 int _level;
 TreeViewItem _Parent = null;

 // ignore: non_constant_identifier_names
 TreeViewItem(String Header) {
   this.Header = Header;
   this._IsVisible = true;
   this._level = 0;
 }

 // ignore: non_constant_identifier_names
 void Add(TreeViewItem Item) {
   Item._IsVisible = false;
   Item._Parent = this;
   _Items.add(Item);
 }

 // ignore: non_constant_identifier_names
 TreeViewItem ElementAt(int index) {
   return _Items.elementAt(index);
 }
}
источник

AK

Anton Kowalski in Dart & Flutter по-русски
Это мое дерево как сделать чтобы элементы плавно выезжали а не просто появлялись?
источник

КА

Кирилл Апарин... in Dart & Flutter по-русски
Anton Kowalski
Это мое дерево как сделать чтобы элементы плавно выезжали а не просто появлялись?
ExpansionTile
источник

D

Danil in Dart & Flutter по-русски
Как сделать такое выделение?
источник

D

Danil in Dart & Flutter по-русски
Уже реализован drawer nav bar
источник

P

Pa_blooo in Dart & Flutter по-русски
так выделяй в зависимости от выбранного пункта
источник

kf

kostya fedurov in Dart & Flutter по-русски
все просто
источник

kf

kostya fedurov in Dart & Flutter по-русски
хочешь выделить? Просто выдели)
источник

D

Danil in Dart & Flutter по-русски
Я имел в виду, когда эта "вкладка" выбрана.
источник

D

Danil in Dart & Flutter по-русски
Или драйвер нав бар уже не особо актуален?
источник

AP

Andreu Puzikov in Dart & Flutter по-русски
Я лично делал обертку над нравом, в которой передавал булевый флаг для каждой вкладки с значением по умолчанию false, а на нужном экране подкидывал нужное мне значение на true
источник

M

Muhammad in Dart & Flutter по-русски
Привет всем! Имеется set immutable объектов, как правильно(либы может, бестпрактисы?) работать с ними так, чтоб не находить и не удалять постоянно старый объект из seta и вставлять на место новую копию?
источник

Z.

Zixe .ru in Dart & Flutter по-русски
Господа. Добрый день. Не вкурсе когда Fox будет проводит второй стрим по BLoC?
источник

RB

R B in Dart & Flutter по-русски
Почему-то пропал statusBar. Хотя до этого был прозрачный. Ничего не менял, вроде. Есть какие-то мысли как исправить?
Спасибо.
источник