Features

A more end user or developer friendly UI class with more dynamic and accessible state maintenance more stable framework of r_css that supports more advanced widgets.

Major Classes

  • Screen
  • Frag

Getting started

Very easy... add r_ui: ^<current_version> to your pubspec.yaml, import 'package:r_ui/r_ui.dart' and there you go 😎.

Usage

class MyScreen extends Screen<Dashboard> {
  //.*
  Dashboard() : super.init();

  @override
  Widget get cmake {
    //.*
    return [tranx, auxTranx] &
        () =>
    $box.column()
      ..scrollPadding = qp.i(16)
      ..children = [
        $check(#add_money)
          ..init.isChecked = false
          ..color = Colors.red
          ..checkColor = Colors.white,
        $gap * 16,
        $lineH(Colors.black26) * 0.1,
        $gap * 16,
        $wheel(#books)
          ..height = 200
          ..axis = Axis.horizontal
          ..scrollPadding = qp.i(8)
          ..onScroll = (offset) {}
          ..dictionary = [() => NoteAlbum()]
          ..mat3D = [
            Mat3D.scale(tranx(.8, 1) * auxTranx(1, 2)),
            Mat3D.tilt(tranx(0, 30) - auxTranx(0, 30)),
          ]
          ..onSelectionChanged = (s) {
            $text(#hola).capture.text = '$s is currently selected';
          }
          ..stream = () {
            final query = Query.nan.pageSize(10);
            return store1.browse('books', query);
          },
        $gap * 16,
        $text(#hola)
          ..text = 'None selected'
          ..textSize = 15
          ..fontWeight = FontWeight.w500
          ..color = Colors.green
          ..autoAlign = qp.a()
          ..fontStyle = FontStyle.italic
          ..margin = qp.i(0, 0, 4, 0),
        $input(#input)
          ..label.text = 'Hello world'
          ..hint.text = 'Hola there'
          ..helper.text = 'Enter your hello world text not less than %max characters'
          ..counter.text = '%count/%max'
          ..maxLength = 50
          ..maxLines = 1
          ..inputStyle = InputStyle.outline
          ..obscureChar = null
          ..validators = [
                (s) => s.isEmpty ? 'Please enter a text' : null,
                (s) => s.contains(RegExp(r'lol|Lol')) ? 'LOL ain\'t allowed' : null,
          ]
          ..scrollPadding = qp.i(16, 8)
          ..margin = qp.i(6),
        $gap * 16,
        $button(#submit)
          ..icon = Icons.access_time_filled
          ..fontWeight = FontWeight.bold
          ..shadows = [qp.sh(4)]
          ..onTap = () {
            Screens.push(Dashboard().router);
          },
        $gap * 16,
      ];
  }
}

Additional information

About Rey

Fun loving - Just kidding kinda kid... Lol! Hit me up for your ready made mobile apps

Libraries

r_ui