doc : widgets like
1- RSegment 2- row radio 3- Build Row 4- logo widget
This commit is contained in:
BIN
doc/BuildRow.png
Normal file
BIN
doc/BuildRow.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.7 KiB |
BIN
doc/LogoWidget.png
Normal file
BIN
doc/LogoWidget.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
BIN
doc/RSegment.png
Normal file
BIN
doc/RSegment.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.9 KiB |
@@ -1,5 +1,4 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
|
||||||
import 'package:rasadyar_core/core.dart';
|
import 'package:rasadyar_core/core.dart';
|
||||||
|
|
||||||
import 'logic.dart';
|
import 'logic.dart';
|
||||||
@@ -11,29 +10,18 @@ class TestPage extends StatelessWidget {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final TestLogic logic = Get.put(TestLogic());
|
final TestLogic logic = Get.put(TestLogic());
|
||||||
|
|
||||||
return Scaffold(body: SafeArea(
|
return Scaffold(
|
||||||
child: Padding(
|
body: SafeArea(
|
||||||
padding: const EdgeInsets.all(18.0),
|
child: Padding(
|
||||||
child: Column(children: [
|
padding: const EdgeInsets.all(18.0),
|
||||||
|
child: Column(
|
||||||
|
spacing: 8,
|
||||||
|
children: [
|
||||||
|
|
||||||
Text('buildRow'),
|
],
|
||||||
buildRow(
|
|
||||||
title: "Test Row Item",
|
|
||||||
value: "Value",
|
|
||||||
titleLabel: "Title Label",
|
|
||||||
valueLabel: "Value Label",
|
|
||||||
titleLabelStyle: AppFonts.yekan14.copyWith(color: Colors.red),
|
|
||||||
valueLabelStyle: AppFonts.yekan14.copyWith(color: Colors.blue),
|
|
||||||
titleStyle: AppFonts.yekan16.copyWith(color: Colors.green),
|
|
||||||
valueStyle: AppFonts.yekan16.copyWith(color: Colors.purple),
|
|
||||||
),
|
),
|
||||||
Divider(),
|
),
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
]),
|
|
||||||
),
|
),
|
||||||
));
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:rasadyar_core/core.dart';
|
import 'package:rasadyar_core/core.dart';
|
||||||
|
|
||||||
|
/// see this link for UI reference:
|
||||||
|
/// [https://github.com/mirani95/rasadyarApp/blob/develop/doc/BuildRow.png]
|
||||||
|
|
||||||
Widget buildRow({
|
Widget buildRow({
|
||||||
required String title,
|
required String title,
|
||||||
required String value,
|
required String value,
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:rasadyar_core/core.dart';
|
import 'package:rasadyar_core/core.dart';
|
||||||
|
|
||||||
|
|
||||||
|
/// see this link for UI reference:
|
||||||
|
/// [https://github.com/mirani95/rasadyarApp/blob/develop/docLogoWidget.png]
|
||||||
|
|
||||||
class LogoWidget extends StatelessWidget {
|
class LogoWidget extends StatelessWidget {
|
||||||
const LogoWidget({
|
const LogoWidget({
|
||||||
super.key,
|
super.key,
|
||||||
|
|||||||
21
packages/core/lib/presentation/widget/row_radio.dart
Normal file
21
packages/core/lib/presentation/widget/row_radio.dart
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
Widget row({
|
||||||
|
required List<Widget> children,
|
||||||
|
MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start,
|
||||||
|
CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center,
|
||||||
|
MainAxisSize mainAxisSize = MainAxisSize.max,
|
||||||
|
TextDirection? textDirection,
|
||||||
|
VerticalDirection verticalDirection = VerticalDirection.down,
|
||||||
|
TextBaseline? textBaseline,
|
||||||
|
}) {
|
||||||
|
return Row(
|
||||||
|
mainAxisAlignment: mainAxisAlignment,
|
||||||
|
crossAxisAlignment: crossAxisAlignment,
|
||||||
|
mainAxisSize: mainAxisSize,
|
||||||
|
textDirection: textDirection,
|
||||||
|
verticalDirection: verticalDirection,
|
||||||
|
textBaseline: textBaseline,
|
||||||
|
children: children,
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
// Use of this source code is governed by a BSD-style license that can be
|
// Use of this source code is governed by a BSD-style license that can be
|
||||||
// found in the LICENSE file.
|
// found in the LICENSE file.
|
||||||
|
|
||||||
/// @docImport 'switch.dart';
|
|
||||||
library;
|
library;
|
||||||
|
|
||||||
import 'dart:collection';
|
import 'dart:collection';
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ import 'package:rasadyar_core/core.dart';
|
|||||||
|
|
||||||
const Duration _kFadeDuration = Duration(milliseconds: 165);
|
const Duration _kFadeDuration = Duration(milliseconds: 165);
|
||||||
|
|
||||||
|
/// see this link for UI reference:
|
||||||
|
/// [https://github.com/mirani95/rasadyarApp/blob/develop/doc/RSegment.png]
|
||||||
|
|
||||||
class RSegment extends StatefulWidget {
|
class RSegment extends StatefulWidget {
|
||||||
const RSegment({
|
const RSegment({
|
||||||
super.key,
|
super.key,
|
||||||
|
|||||||
@@ -4,15 +4,6 @@ import 'package:vector_graphics/vector_graphics.dart';
|
|||||||
|
|
||||||
import '../common/assets.gen.dart';
|
import '../common/assets.gen.dart';
|
||||||
|
|
||||||
SvgPicture vecWidget(String assets, {double? width, double? height, BoxFit? fit, Color? color}) {
|
|
||||||
return SvgPicture(
|
|
||||||
AssetBytesLoader(assets),
|
|
||||||
width: width,
|
|
||||||
height: height,
|
|
||||||
fit: fit ?? BoxFit.contain,
|
|
||||||
colorFilter: color != null ? ColorFilter.mode(color, BlendMode.srcIn) : null,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
Widget vecWidgetWithOnTap({
|
Widget vecWidgetWithOnTap({
|
||||||
required Widget child,
|
required Widget child,
|
||||||
@@ -25,62 +16,4 @@ Widget vecWidgetWithOnTap({
|
|||||||
return InkWell(onTap: onTap, child: child);
|
return InkWell(onTap: onTap, child: child);
|
||||||
}
|
}
|
||||||
|
|
||||||
SvgPicture svgWidget(String assets, {double? width, double? height, BoxFit? fit, Color? color}) {
|
|
||||||
return SvgPicture.asset(
|
|
||||||
assets,
|
|
||||||
width: width,
|
|
||||||
height: height,
|
|
||||||
fit: fit ?? BoxFit.contain,
|
|
||||||
colorFilter: color != null ? ColorFilter.mode(color, BlendMode.srcIn) : null,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
Widget vecWidget2(String assets, {double? width, double? height, BoxFit? fit, Color? color}) {
|
|
||||||
final resolvedColor = WidgetStateProperty.resolveWith<Color?>((states) {
|
|
||||||
if (states.contains(WidgetState.pressed)) {
|
|
||||||
return Colors.white;
|
|
||||||
}
|
|
||||||
return color;
|
|
||||||
}).resolve({}); // You can pass actual states if needed
|
|
||||||
|
|
||||||
return IconTheme(
|
|
||||||
data: IconThemeData(color: resolvedColor),
|
|
||||||
child: SvgPicture(
|
|
||||||
AssetBytesLoader(assets),
|
|
||||||
width: width,
|
|
||||||
height: height,
|
|
||||||
fit: fit ?? BoxFit.contain,
|
|
||||||
colorFilter: resolvedColor != null ? ColorFilter.mode(resolvedColor, BlendMode.srcIn) : null,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
SizedBox iconBlendTester(String vecPath) {
|
|
||||||
return SizedBox(
|
|
||||||
height: 150,
|
|
||||||
child: ListView.separated(
|
|
||||||
scrollDirection: Axis.horizontal,
|
|
||||||
itemCount: BlendMode.values.length,
|
|
||||||
itemBuilder: (context, index) {
|
|
||||||
return Column(
|
|
||||||
spacing: 8,
|
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
|
||||||
children: [
|
|
||||||
Text(BlendMode.values[index].toString()),
|
|
||||||
Container(
|
|
||||||
margin: EdgeInsets.all(8),
|
|
||||||
width: 100,
|
|
||||||
height: 100,
|
|
||||||
child: SvgGenImage.vec(vecPath).svg(
|
|
||||||
width: 50,
|
|
||||||
height: 50,
|
|
||||||
colorFilter: ColorFilter.mode(Colors.red, BlendMode.values[index]),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
);
|
|
||||||
},
|
|
||||||
separatorBuilder: (BuildContext context, int index) => SizedBox(width: 10),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user