asset_view.dart 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import 'package:flutter/material.dart';
  2. import 'package:multimage_picker/multimage_picker.dart';
  3. class AssetView extends StatefulWidget {
  4. final int _index;
  5. final Asset _asset;
  6. AssetView(
  7. this._index,
  8. this._asset, {
  9. Key key,
  10. }) : super(key: key);
  11. @override
  12. State<StatefulWidget> createState() => AssetState(this._index, this._asset);
  13. }
  14. class AssetState extends State<AssetView> {
  15. int _index = 0;
  16. Asset _asset;
  17. AssetState(this._index, this._asset);
  18. @override
  19. void initState() {
  20. super.initState();
  21. _loadImage();
  22. }
  23. void _loadImage() async {
  24. await this._asset.requestThumbnail(300, 300, quality: 50);
  25. if (this.mounted) {
  26. setState(() {});
  27. }
  28. }
  29. @override
  30. Widget build(BuildContext context) {
  31. if (null != this._asset.thumbData) {
  32. return Image.memory(
  33. this._asset.,
  34. fit: BoxFit.cover,
  35. gaplessPlayback: true,
  36. );
  37. }
  38. return Text(
  39. '${this._index}',
  40. style: Theme.of(context).textTheme.headline,
  41. );
  42. }
  43. }