No Material widget found.

来源:9-6 播放器封装及自定义插件(二)

demonCry

2022-09-07

图片描述

主工程

import 'package:flutter/material.dart';
import 'package:player_ijk/player_ijk.dart';
import 'package:player_ijk/video_view.dart';

void main() => runApp(PlayerPage());

class PlayerPage extends StatefulWidget {
  const PlayerPage({Key? key}) : super(key: key);

  
  State<PlayerPage> createState() => _PlayerPageState();
}

class _PlayerPageState extends State<PlayerPage> {
  static const String url = 'https://sample-videos.com/video123/flv/240/big_buck_bunny_240p_10mb.flv';

  String version = 'null';


  
  void initState() {
    super.initState();

    PlayerIjk()
      .getPlatformVersion()
      .then((value)=> {
        setState(()=>version = value!)
      });
  }

  
  Widget build(BuildContext context) {
    var player = PlayerIjk();
    player.setCommonDataSource(url,autoPlay: true);

    return MaterialApp(
      title: 'xxx',
      theme: ThemeData(
          primarySwatch: Colors.blue
      ),
      home: VideoView(playerIjk: player)
    );
  }
}

pluggin

import 'package:fijkplayer/fijkplayer.dart';
import 'package:flutter/widgets.dart';
import 'package:player_ijk/player_ijk.dart';

class VideoView extends StatefulWidget {
  final PlayerIjk playerIjk;

  const VideoView({Key? key, required this.playerIjk}) : super(key: key);

  
  State<VideoView> createState() => _VideoViewState();
}

class _VideoViewState extends State<VideoView> {
  
  Widget build(BuildContext context) {
    return Stack(
      children: [
        FijkView(player: widget.playerIjk),

        //Align will let you place widgets in a defined area of its parent widget
        //just like Center()
        Align(
          child: Image.asset('assets/images/play.png', width: 70, height: 70),
          alignment: Alignment.center
        )
      ],
    );
  }
}

然后我给 _VideoViewState 的Stack()外面再套了层报错提示里面说的 Scaffold 就没报错了

但我看老师视频 09:36 s,甚至引入的不是 import 'package:flutter/material.dart'; 而是 import 'package:flutter/widgets.dart';, 也没再在外面套一层撒

但是缺没有像我这样报错 是为什么呢


emmm 第三节 老师修复了这个报错

写回答

1回答

马超老师

2022-09-30

嗯, 后面有讲到这个问题

0
0

基于Flutter 3.x 实战跨平台仿抖音App混合开发

以短视频APP为例,快速上手原生/Flutter 混合开发

481 学习 · 120 问题

查看课程