浏览代码

fix & demo

/imageFlow
siyao 3 年前
当前提交
4b6f26db
共有 8 个文件被更改,包括 1579 次插入0 次删除
  1. 343
      AwesomeUIWidgets/Assets/Packages/SGrid/widget/staggered_grid_view.cs
  2. 3
      AwesomeUIWidgets/Assets/Packages/SGrid/widget/staggered_grid_view.cs.meta
  3. 55
      AwesomeUIWidgets/Assets/Packages/SGrid/widget/staggered_tile.cs
  4. 3
      AwesomeUIWidgets/Assets/Packages/SGrid/widget/staggered_tile.cs.meta
  5. 922
      AwesomeUIWidgets/Assets/Scenes/ImageFlow.unity
  6. 7
      AwesomeUIWidgets/Assets/Scenes/ImageFlow.unity.meta
  7. 243
      AwesomeUIWidgets/Assets/Scripts/ImageFlowDemo.cs
  8. 3
      AwesomeUIWidgets/Assets/Scripts/ImageFlowDemo.cs.meta

343
AwesomeUIWidgets/Assets/Packages/SGrid/widget/staggered_grid_view.cs


using System;
using System.Collections.Generic;
using Unity.UIWidgets.foundation;
using Unity.UIWidgets.painting;
using Unity.UIWidgets.widgets;
public class StaggeredGridView : BoxScrollView
{
private StaggeredGridView(
SliverStaggeredGridDelegate gridDelegate,
SliverChildDelegate childrenDelegate,
Key key,
Axis scrollDirection,
bool reverse,
ScrollController controller,
bool? primary,
ScrollPhysics physics,
bool shrinkWrap,
EdgeInsetsGeometry padding
// string restorationId
) : base(
key: key,
scrollDirection: scrollDirection,
reverse: reverse,
controller: controller,
primary: primary,
physics: physics,
shrinkWrap: shrinkWrap,
padding: padding
// restorationId: restorationId
)
{
this.gridDelegate = gridDelegate;
this.childrenDelegate = childrenDelegate;
}
public static StaggeredGridView New(
SliverStaggeredGridDelegate gridDelegate,
Key key = null,
Axis scrollDirection = Axis.vertical,
bool reverse = false,
ScrollController controller = null,
bool? primary = null,
ScrollPhysics physics = null,
bool shrinkWrap = false,
EdgeInsetsGeometry padding = null,
bool addAutomaticKeepAlives = true,
bool addRepaintBoundaries = true,
List<Widget> children = null //public <Widget>[],
// string restorationId = null
)
{
var childrenDelegate = new SliverChildListDelegate(
children ?? new List<Widget>(),
addAutomaticKeepAlives: addAutomaticKeepAlives,
addRepaintBoundaries: addRepaintBoundaries
);
return new StaggeredGridView(
gridDelegate: gridDelegate,
childrenDelegate: childrenDelegate,
key: key,
scrollDirection: scrollDirection,
reverse: reverse,
controller: controller,
primary: primary,
physics: physics,
shrinkWrap: shrinkWrap,
padding: padding
// restorationId: restorationId
);
}
public static StaggeredGridView builder(
SliverStaggeredGridDelegate gridDelegate,
IndexedWidgetBuilder itemBuilder,
Key key = null,
Axis scrollDirection = Axis.vertical,
bool reverse = false,
ScrollController controller = null,
bool? primary = null,
ScrollPhysics physics = null,
bool shrinkWrap = false,
EdgeInsetsGeometry padding = null,
int? itemCount = null,
bool addAutomaticKeepAlives = true,
bool addRepaintBoundaries = true,
string restorationId = null
)
{
var childrenDelegate = new SliverChildBuilderDelegate(
itemBuilder,
childCount: itemCount,
addAutomaticKeepAlives: addAutomaticKeepAlives,
addRepaintBoundaries: addRepaintBoundaries
);
return new StaggeredGridView(
gridDelegate: gridDelegate,
childrenDelegate: (SliverChildDelegate) childrenDelegate,
key: key,
scrollDirection: scrollDirection,
reverse: reverse,
controller: controller,
primary: primary,
physics: physics,
shrinkWrap: shrinkWrap,
padding: padding
// restorationId: restorationId
);
}
public StaggeredGridView custom(
SliverStaggeredGridDelegate gridDelegate,
SliverChildDelegate childrenDelegate,
Key key = null,
Axis scrollDirection = Axis.vertical,
bool reverse = false,
ScrollController controller = null,
bool? primary = null,
ScrollPhysics physics = null,
bool shrinkWrap = false,
EdgeInsetsGeometry padding = null
// string restorationId = null
)
{
return new StaggeredGridView(
gridDelegate: gridDelegate,
childrenDelegate: childrenDelegate,
key: key,
scrollDirection: scrollDirection,
reverse: reverse,
controller: controller,
primary: primary,
physics: physics,
shrinkWrap: shrinkWrap,
padding: padding
// restorationId: restorationId,
);
}
public static StaggeredGridView count(
int crossAxisCount,
Key key = null,
Axis scrollDirection = Axis.vertical,
bool reverse = false,
ScrollController controller = null,
bool? primary = null,
ScrollPhysics physics = null,
bool shrinkWrap = false,
EdgeInsetsGeometry padding = null,
float mainAxisSpacing = 0.0f,
float crossAxisSpacing = 0.0f,
bool addAutomaticKeepAlives = true,
bool addRepaintBoundaries = true,
List<Widget> children = null, // public <Widget>[],
List<StaggeredTile> staggeredTiles = null // public <StaggeredTile>[],
// String? restorationId,
)
{
children = children ?? new List<Widget>();
staggeredTiles = staggeredTiles ?? new List<StaggeredTile>();
var gridDelegate = new SliverStaggeredGridDelegateWithFixedCrossAxisCount(
crossAxisCount: crossAxisCount,
mainAxisSpacing: mainAxisSpacing,
crossAxisSpacing: crossAxisSpacing,
staggeredTileBuilder: (i) => staggeredTiles[i],
staggeredTileCount: staggeredTiles.Count
);
var childrenDelegate = new SliverChildListDelegate(
children,
addAutomaticKeepAlives: addAutomaticKeepAlives,
addRepaintBoundaries: addRepaintBoundaries
);
return new StaggeredGridView(
gridDelegate: gridDelegate,
childrenDelegate: childrenDelegate,
key: key,
scrollDirection: scrollDirection,
reverse: reverse,
controller: controller,
primary: primary,
physics: physics,
shrinkWrap: shrinkWrap,
padding: padding
// restorationId: restorationId,
);
}
public static StaggeredGridView countBuilder(
int crossAxisCount,
IndexedWidgetBuilder itemBuilder,
GridUtil.IndexedStaggeredTileBuilder staggeredTileBuilder,
Key key = null,
Axis scrollDirection = Axis.vertical,
bool reverse = false,
ScrollController controller = null,
bool? primary = null,
ScrollPhysics physics = null,
bool shrinkWrap = false,
EdgeInsetsGeometry padding = null,
int? itemCount = null,
float mainAxisSpacing = 0.0f,
float crossAxisSpacing = 0.0f,
bool addAutomaticKeepAlives = true,
bool addRepaintBoundaries = true
// String? restorationId,
)
{
var gridDelegate = new SliverStaggeredGridDelegateWithFixedCrossAxisCount(
crossAxisCount: crossAxisCount,
mainAxisSpacing: mainAxisSpacing,
crossAxisSpacing: crossAxisSpacing,
staggeredTileBuilder: staggeredTileBuilder,
staggeredTileCount: itemCount
);
var childrenDelegate = new SliverChildBuilderDelegate(
itemBuilder,
childCount: itemCount,
addAutomaticKeepAlives: addAutomaticKeepAlives,
addRepaintBoundaries: addRepaintBoundaries
);
return new StaggeredGridView(
gridDelegate: gridDelegate,
childrenDelegate: childrenDelegate,
key: key,
scrollDirection: scrollDirection,
reverse: reverse,
controller: controller,
primary: primary,
physics: physics,
shrinkWrap: shrinkWrap,
padding: padding
// restorationId: restorationId,
);
}
public static StaggeredGridView extent(
float maxCrossAxisExtent,
Key key = null,
Axis scrollDirection = Axis.vertical,
bool reverse = false,
ScrollController controller = null,
bool? primary = null,
ScrollPhysics physics = null,
bool shrinkWrap = false,
EdgeInsetsGeometry padding = null,
float mainAxisSpacing = 0.0f,
float crossAxisSpacing = 0.0f,
bool addAutomaticKeepAlives = true,
bool addRepaintBoundaries = true,
List<Widget> children = null, // public <Widget>[],
List<StaggeredTile> staggeredTiles = null // public <StaggeredTile>[],
// String? restorationId,
)
{
var gridDelegate = new SliverStaggeredGridDelegateWithMaxCrossAxisExtent(
maxCrossAxisExtent: maxCrossAxisExtent,
mainAxisSpacing: mainAxisSpacing,
crossAxisSpacing: crossAxisSpacing,
staggeredTileBuilder: (i) => staggeredTiles[i],
staggeredTileCount: staggeredTiles.Count
);
var childrenDelegate = new SliverChildListDelegate(
children,
addAutomaticKeepAlives: addAutomaticKeepAlives,
addRepaintBoundaries: addRepaintBoundaries
);
return new StaggeredGridView(
gridDelegate: gridDelegate,
childrenDelegate: childrenDelegate,
key: key,
scrollDirection: scrollDirection,
reverse: reverse,
controller: controller,
primary: primary,
physics: physics,
shrinkWrap: shrinkWrap,
padding: padding
// restorationId: restorationId,
);
}
public static StaggeredGridView extentBuilder(
float maxCrossAxisExtent,
IndexedWidgetBuilder itemBuilder,
GridUtil.IndexedStaggeredTileBuilder staggeredTileBuilder,
Key key = null,
Axis scrollDirection = Axis.vertical,
bool reverse = false,
ScrollController controller = null,
bool? primary = null,
ScrollPhysics physics = null,
bool shrinkWrap = false,
EdgeInsetsGeometry padding = null,
int? itemCount = null,
float mainAxisSpacing = 0.0f,
float crossAxisSpacing = 0.0f,
bool addAutomaticKeepAlives = true,
bool addRepaintBoundaries = true
// String? restorationId = null,
)
{
var gridDelegate = new SliverStaggeredGridDelegateWithMaxCrossAxisExtent(
maxCrossAxisExtent: maxCrossAxisExtent,
mainAxisSpacing: mainAxisSpacing,
crossAxisSpacing: crossAxisSpacing,
staggeredTileBuilder: staggeredTileBuilder,
staggeredTileCount: itemCount
);
var childrenDelegate = new SliverChildBuilderDelegate(
itemBuilder,
childCount: itemCount,
addAutomaticKeepAlives: addAutomaticKeepAlives,
addRepaintBoundaries: addRepaintBoundaries
);
return new StaggeredGridView(
gridDelegate: gridDelegate,
childrenDelegate: childrenDelegate,
key: key,
scrollDirection: scrollDirection,
reverse: reverse,
controller: controller,
primary: primary,
physics: physics,
shrinkWrap: shrinkWrap,
padding: padding
// restorationId: restorationId,
);
}
public readonly SliverStaggeredGridDelegate gridDelegate;
public readonly SliverChildDelegate childrenDelegate;
protected override Widget buildChildLayout(BuildContext context)
{
return new SliverStaggeredGrid(
Delegate: childrenDelegate,
gridDelegate: gridDelegate
);
}
}

3
AwesomeUIWidgets/Assets/Packages/SGrid/widget/staggered_grid_view.cs.meta


fileFormatVersion: 2
guid: 26452f13449c4a358bd8dbdb02d1ab20
timeCreated: 1626775469

55
AwesomeUIWidgets/Assets/Packages/SGrid/widget/staggered_tile.cs


using Unity.UIWidgets.foundation;
public class StaggeredTile
{
public StaggeredTile(
int crossAxisCellCount,
float? mainAxisCellCount,
float? mainAxisExtent)
{
this.crossAxisCellCount = crossAxisCellCount;
this.mainAxisCellCount = mainAxisCellCount;
this.mainAxisExtent = mainAxisExtent;
}
public static StaggeredTile count(int crossAxisCellCount, float? mainAxisCellCount)
{
D.assert(crossAxisCellCount >= 0);
D.assert(mainAxisCellCount != null && mainAxisCellCount >= 0);
return new StaggeredTile(
crossAxisCellCount,
mainAxisCellCount,
null
);
}
public static StaggeredTile extent(int crossAxisCellCount, float? mainAxisExtent)
{
D.assert(crossAxisCellCount >= 0);
D.assert(mainAxisExtent != null && mainAxisExtent >= 0);
return new StaggeredTile(
crossAxisCellCount,
null,
mainAxisExtent);
}
public static StaggeredTile fit(int crossAxisCellCount)
{
D.assert(crossAxisCellCount >= 0);
return new StaggeredTile(
crossAxisCellCount,
null,
null);
}
public readonly int crossAxisCellCount;
public readonly float? mainAxisCellCount;
public readonly float? mainAxisExtent;
public bool fitContent
{
get { return mainAxisCellCount == null && mainAxisExtent == null; }
}
}

3
AwesomeUIWidgets/Assets/Packages/SGrid/widget/staggered_tile.cs.meta


fileFormatVersion: 2
guid: 73bd995a32824de9a636279020b2f5bc
timeCreated: 1626774051

922
AwesomeUIWidgets/Assets/Scenes/ImageFlow.unity


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 705507994}
m_IndirectSpecularColor: {r: 0.44657874, g: 0.49641275, b: 0.5748172, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 11
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 500
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 500
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 2
m_PVRDenoiserTypeDirect: 0
m_PVRDenoiserTypeIndirect: 0
m_PVRDenoiserTypeAO: 0
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 0
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_UseShadowmask: 1
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!28 &97997089
Texture2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 3
m_Width: 0
m_Height: 0
m_CompleteImageSize: 0
m_TextureFormat: 0
m_MipCount: 1
m_IsReadable: 1
m_IgnoreMasterTextureLimit: 0
m_IsPreProcessed: 0
m_StreamingMipmaps: 0
m_StreamingMipmapsPriority: 0
m_AlphaIsTransparency: 0
m_ImageCount: 0
m_TextureDimension: 2
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 0
m_WrapV: 0
m_WrapW: 0
m_LightmapFormat: 0
m_ColorSpace: 0
image data: 0
_typelessdata:
m_StreamData:
offset: 0
size: 0
path:
m_OriginalWidth: 0
m_OriginalHeight: 0
m_OriginalAssetGuid: 00000000000000000000000000000000
--- !u!1 &156319110
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 156319113}
- component: {fileID: 156319112}
- component: {fileID: 156319111}
m_Layer: 0
m_Name: EventSystem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &156319111
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 156319110}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalAxis: Horizontal
m_VerticalAxis: Vertical
m_SubmitButton: Submit
m_CancelButton: Cancel
m_InputActionsPerSecond: 10
m_RepeatDelay: 0.5
m_ForceModuleActive: 0
--- !u!114 &156319112
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 156319110}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_FirstSelected: {fileID: 0}
m_sendNavigationEvents: 1
m_DragThreshold: 10
--- !u!4 &156319113
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 156319110}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &373829882
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 373829883}
- component: {fileID: 373829885}
- component: {fileID: 373829884}
m_Layer: 5
m_Name: RawImage
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &373829883
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 373829882}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1882612342}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 169, y: -153}
m_SizeDelta: {x: 300, y: 400}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &373829884
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 373829882}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4b528d0713eb470881072361372fa123, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Texture: {fileID: 0}
m_UVRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
hardwareAntiAliasing: 0
fonts: []
--- !u!222 &373829885
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 373829882}
m_CullTransparentMesh: 0
--- !u!1 &486503336
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 486503339}
- component: {fileID: 486503338}
- component: {fileID: 486503337}
m_Layer: 5
m_Name: Panel
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &486503337
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 486503336}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.392}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &486503338
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 486503336}
m_CullTransparentMesh: 0
--- !u!224 &486503339
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 486503336}
m_LocalRotation: {x: -0, y: -0.3507795, z: -0, w: 0.9364581}
m_LocalPosition: {x: 0, y: 0, z: 606.11426}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1588079143}
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 32.075195, y: 392}
m_SizeDelta: {x: 398, y: 784}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &705507993
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 705507995}
- component: {fileID: 705507994}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!108 &705507994
Light:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 705507993}
m_Enabled: 1
serializedVersion: 10
m_Type: 1
m_Shape: 0
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
m_Intensity: 1
m_Range: 10
m_SpotAngle: 30
m_InnerSpotAngle: 21.80208
m_CookieSize: 10
m_Shadows:
m_Type: 2
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_CullingMatrixOverride:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_UseCullingMatrixOverride: 0
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingLayerMask: 1
m_Lightmapping: 1
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
m_UseBoundingSphereOverride: 0
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!4 &705507995
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 705507993}
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1 &963194225
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 963194228}
- component: {fileID: 963194227}
- component: {fileID: 963194226}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &963194226
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 963194225}
m_Enabled: 1
--- !u!20 &963194227
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 963194225}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &963194228
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 963194225}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 277, y: 187, z: -132}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1588079142
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1588079143}
- component: {fileID: 1588079146}
- component: {fileID: 1588079145}
- component: {fileID: 1588079144}
m_Layer: 5
m_Name: Canvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1588079143
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1588079142}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_Children:
- {fileID: 1666129244}
m_Father: {fileID: 486503339}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!114 &1588079144
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1588079142}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!114 &1588079145
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1588079142}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 0
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
--- !u!223 &1588079146
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1588079142}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_AdditionalShaderChannelsFlag: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!1 &1666129243
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1666129244}
- component: {fileID: 1666129246}
- component: {fileID: 1666129245}
m_Layer: 5
m_Name: RawImage
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1666129244
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1666129243}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1588079143}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1666129245
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1666129243}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4b528d0713eb470881072361372fa123, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Texture: {fileID: 97997089}
m_UVRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
hardwareAntiAliasing: 0
fonts: []
--- !u!222 &1666129246
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1666129243}
m_CullTransparentMesh: 0
--- !u!1 &1882612338
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1882612342}
- component: {fileID: 1882612341}
- component: {fileID: 1882612340}
- component: {fileID: 1882612339}
m_Layer: 5
m_Name: Canvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1882612339
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1882612338}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!114 &1882612340
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1882612338}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 0
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
--- !u!223 &1882612341
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1882612338}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 2
m_Camera: {fileID: 963194227}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_AdditionalShaderChannelsFlag: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!224 &1882612342
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1882612338}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -11}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 373829883}
m_Father: {fileID: 2074331824}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 277.64478, y: 341.98712}
m_SizeDelta: {x: 398, y: 784}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &2074331820
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2074331824}
- component: {fileID: 2074331823}
- component: {fileID: 2074331822}
- component: {fileID: 2074331821}
m_Layer: 0
m_Name: Cube
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!65 &2074331821
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2074331820}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 0
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!23 &2074331822
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2074331820}
m_Enabled: 0
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!33 &2074331823
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2074331820}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &2074331824
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2074331820}
m_LocalRotation: {x: 0, y: -0.3507795, z: 0, w: 0.9364581}
m_LocalPosition: {x: -174, y: 50.01288, z: 432}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1882612342}
m_Father: {fileID: 0}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: -41.07, z: 0}

7
AwesomeUIWidgets/Assets/Scenes/ImageFlow.unity.meta


fileFormatVersion: 2
guid: 4a3548dce430542b4aff5fced1776adb
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

243
AwesomeUIWidgets/Assets/Scripts/ImageFlowDemo.cs


using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography.X509Certificates;
using uiwidgets;
using Unity.UIWidgets.cupertino;
using Unity.UIWidgets.engine;
using Unity.UIWidgets.foundation;
using Unity.UIWidgets.material;
using Unity.UIWidgets.painting;
using Unity.UIWidgets.rendering;
using Unity.UIWidgets.ui;
using Unity.UIWidgets.widgets;
using UnityEngine;
using Color = Unity.UIWidgets.ui.Color;
using FontStyle = Unity.UIWidgets.ui.FontStyle;
using Random = System.Random;
using Text = Unity.UIWidgets.widgets.Text;
using ui_ = Unity.UIWidgets.widgets.ui_;
using TextStyle = Unity.UIWidgets.painting.TextStyle;
namespace UIWidgetsSample
{
public class ImageFlowDemo : UIWidgetsPanel
{
protected void OnEnable()
{
base.OnEnable();
}
protected override void main()
{
ui_.runApp(new ImageFlowApp());
}
}
class ImageFlowApp : StatelessWidget
{
public override Widget build(BuildContext context)
{
return new MaterialApp(
theme: new ThemeData(
brightness: Brightness.dark,
accentColor: Colors.cyan[600],
textTheme: new TextTheme(
headline1: new TextStyle(fontSize: 72.0f, fontWeight: FontWeight.bold),
headline6: new TextStyle(fontSize: 36.0f, fontStyle: FontStyle.italic),
bodyText2: new TextStyle(fontSize: 14.0f)
)
),
home: new Example01()
);
}
}
public static class Utils
{
internal static readonly List<StaggeredTile> _staggeredTiles = new List<StaggeredTile>
{
StaggeredTile.count(2, 2),
// StaggeredTile.count(2, 1),
// StaggeredTile.count(1, 2),
// StaggeredTile.count(1, 1),
// StaggeredTile.count(2, 2),
// StaggeredTile.count(1, 2),
// StaggeredTile.count(1, 1),
// StaggeredTile.count(3, 1),
// StaggeredTile.count(1, 1),
// StaggeredTile.count(4, 1),
};
public static List<string> lotties = new List<string>()
{
"1055-world-locations.json",
"1370-confetti.json",
"1798-check-animation.json",
"226-splashy-loader.json",
"66992-the-flying-rocket.json",
"77-im-thirsty.json",
"782-check-mark-success.json",
"91-mailsent.json",
"lottieflow-checkbox-06-000000-easey.json",
"lottieflow-cta-04-000000-easey.json",
"lottieflow-radio-07-000000-easey.json",
"lottieflow-social-networks-16-12-000000-easey.json",
"lottieflow-social-networks-16-7-000000-easey.json",
};
internal static readonly List<Widget> _tiles = new List<Widget>
{
new _Example01Tile(Colors.green, Icons.widgets, "1055-world-locations.json"),
// new _Example01Tile(Colors.lightBlue, Icons.wifi, "1370-confetti.json"),
// new _Example01Tile(Colors.amber, Icons.panorama_wide_angle, "1798-check-animation.json"),
// new _Example01Tile(Colors.brown, Icons.map, "226-splashy-loader.json"),
// new _Example01Tile(Colors.deepOrange, Icons.send, "66992-the-flying-rocket.json"),
// new _Example01Tile(Colors.indigo, Icons.airline_seat_flat, "77-im-thirsty.json"),
// new _Example01Tile(Colors.red, Icons.bluetooth, "782-check-mark-success.json"),
// new _Example01Tile(Colors.pink, Icons.battery_alert, "91-mailsent.json"),
// new _Example01Tile(Colors.purple, Icons.desktop_windows, "lottieflow-checkbox-06-000000-easey.json"),
// new _Example01Tile(Colors.blue, Icons.radio, "lottieflow-cta-04-000000-easey.json"),
};
internal static Random random = new Random();
}
class Example01 : StatefulWidget
{
public override State createState()
{
return new Example01State();
}
}
class Example01State : State<Example01>
{
readonly List<StaggeredTile> _staggeredTiles = new List<StaggeredTile>
{
StaggeredTile.count(2, 2),
};
readonly List<Widget> _tiles = new List<Widget>
{
new _Example01Tile(Colors.green, Icons.widgets, "1055-world-locations.json"),
};
private int count = 4;
public override Widget build(BuildContext context)
{
Debug.Log($"o tile count {_tiles.Count}");
return new Scaffold(
appBar: new AppBar(
title: new Text("example 01")
),
body:
new Column(
children: new List<Widget>()
{
new Expanded(child:
new Container(
child:
StaggeredGridView.count(
crossAxisCount: count,
staggeredTiles: _staggeredTiles,
mainAxisSpacing: 5,
crossAxisSpacing: 10,
padding: EdgeInsets.all(4),
children: _tiles
)
)),
new Row(
mainAxisAlignment: MainAxisAlignment.center,
children: new List<Widget>()
{
new MaterialButton(height: 100, minWidth: 100, color: Colors.amber,
onPressed: () => { setState(() => { count++; }); }),
new MaterialButton(height: 100, minWidth: 100, color: Colors.amber,
onPressed: () => { setState(() => { count--; }); }),
new MaterialButton(height: 100, minWidth: 100, color: Colors.amber,
onPressed: () =>
{
setState(() =>
{
Debug.Log($"tile count {_tiles.Count}");
_tiles.RemoveAt(0);
Debug.Log($"tile count {_tiles.Count}");
_staggeredTiles.RemoveAt(0);
});
}),
new MaterialButton(height: 100, minWidth: 100, color: Colors.amber,
onPressed: () =>
{
setState(() =>
{
Debug.Log($"x tile count {_tiles.Count}");
_tiles.Add(
new _Example01Tile(
Colors.cyan,
Icons.widgets,
Utils.lotties[Utils.random.Next(Utils.lotties.Count)]
)
);
Debug.Log($"y tile count {_tiles.Count}");
_staggeredTiles.Add(
StaggeredTile.count(
Utils.random.Next(2) + 1,
Utils.random.Next(2) + 1)
);
});
})
}
)
}
)
);
}
}
internal class _Example01Tile : StatefulWidget
{
internal _Example01Tile(Color backgroundColor, IconData iconData, string path)
{
this.backgroundColor = backgroundColor;
this.iconData = iconData;
this.path = path;
}
public readonly Color backgroundColor;
public readonly IconData iconData;
public readonly string path;
public override State createState()
{
return new _Example01TileState();
}
}
internal class _Example01TileState : State<_Example01Tile>
{
public override Widget build(BuildContext context)
{
return new Card(
color: widget.backgroundColor,
child: new InkWell(
onTap: () =>
{
},
child: new Center(
child: new Padding(
padding: EdgeInsets.all(4),
child: new Lottie(widget.path, size: new Size(100, 100))
)
)
)
);
}
}
}

3
AwesomeUIWidgets/Assets/Scripts/ImageFlowDemo.cs.meta


fileFormatVersion: 2
guid: 4b528d0713eb470881072361372fa123
timeCreated: 1626845939
正在加载...
取消
保存