Flutter全景图查看插件panorama_viewer_plus的使用

发布于 1周前 作者 yuanlaile 来自 Flutter

Flutter全景图查看插件panorama_viewer_plus的使用

一个360度全景图查看器。 支持平台:Android, iOS, 平板, Web支持(移动/桌面)。

此插件是 https://github.com/dariocavada/panorama_viewer 的更新移植版。

截图

截图

开始使用

在你的 pubspec.yaml 文件中添加全景图作为依赖项。

dependencies:
  panorama_viewer_plus: ^0.1.0

导入并添加全景图查看器小部件到你的项目中。

import 'package:panorama_viewer_plus/panorama_viewer_plus.dart';
... ...

[@override](/user/override)
Widget build(BuildContext context) {
  var deviceSize = MediaQuery.of(context).size;
  return Scaffold(
    appBar: AppBar(title: const Text("自定义全景图查看器")),
    body: Center(
      child: CustomPanoramaViewer(
        imagePath: 'https://raw.githubusercontent.com/ShreyaAmbaliya/panorama_viewer_plus/main/example/assets/test.jpg',
        width: deviceSize.width,
        height: 220,
      ),
    ),
  );
}

设置 isAssetImagetrue 查看资源图像

import 'package:panorama_viewer_plus/panorama_viewer_plus.dart';
... ...

[@override](/user/override)
Widget build(BuildContext context) {
  var deviceSize = MediaQuery.of(context).size;
  return Scaffold(
    appBar: AppBar(title: const Text("自定义全景图查看器")),
    body: Center(
      child: CustomPanoramaViewer(
        imagePath:'assets/test.jpg',
        isAssetImage:true,
        width: deviceSize.width,
        height: 220,
      ),
    ),
  );
}

支持 ❤️

github.com 上给项目点赞。

pub.dev 上喜欢它。


### 示例代码

```dart
import 'package:flutter/material.dart';
import 'package:panorama_viewer_plus/panorama_viewer_plus.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // 这个小部件是你的应用的根。
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter 自定义全景图组件',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Flutter 示例主页'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  [@override](/user/override)
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  [@override](/user/override)
  Widget build(BuildContext context) {
    var deviceSize = MediaQuery.of(context).size;
    return Scaffold(
      body: Center(
        child: CustomPanoramaViewer(
          imagePath: 'https://raw.githubusercontent.com/ShreyaAmbaliya/panorama_viewer_plus/main/example/assets/test.jpg',
          width: deviceSize.width,
          height: deviceSize.height,
        ),
      ),
    );
  }
}

更多关于Flutter全景图查看插件panorama_viewer_plus的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter全景图查看插件panorama_viewer_plus的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中使用panorama_viewer_plus插件来查看全景图的代码示例。这个插件允许你加载并显示全景图像,用户可以通过手势进行旋转和缩放。

1. 添加依赖

首先,在你的pubspec.yaml文件中添加panorama_viewer_plus依赖:

dependencies:
  flutter:
    sdk: flutter
  panorama_viewer_plus: ^最新版本号  # 请替换为实际最新版本号

然后运行flutter pub get来获取依赖。

2. 导入插件

在你的Dart文件中导入插件:

import 'package:panorama_viewer_plus/panorama_viewer_plus.dart';

3. 使用PanoramaViewerPlus

下面是一个简单的例子,展示如何在Flutter应用中显示全景图:

import 'package:flutter/material.dart';
import 'package:panorama_viewer_plus/panorama_viewer_plus.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Panorama Viewer Example',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: PanoramaPage(),
    );
  }
}

class PanoramaPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Panorama Viewer'),
      ),
      body: Center(
        child: PanoramaViewerPlus(
          // 这里放置你的全景图URL或本地资产路径
          imageUri: 'https://example.com/your-panorama-image.jpg',
          // 如果是本地资源,可以使用以下方式
          // imageUri: AssetImage('assets/your-panorama-image.jpg'),
          width: double.infinity,
          height: double.infinity,
        ),
      ),
    );
  }
}

4. 本地资源(可选)

如果你打算使用本地资源,请确保在pubspec.yaml中声明你的资产:

flutter:
  assets:
    - assets/your-panorama-image.jpg

然后在PanoramaViewerPlus中使用AssetImage

PanoramaViewerPlus(
  imageUri: AssetImage('assets/your-panorama-image.jpg'),
  width: double.infinity,
  height: double.infinity,
),

5. 运行应用

现在,你可以运行你的Flutter应用,应该会看到一个全景图查看器,你可以通过手势来旋转和缩放全景图。

这个示例展示了如何使用panorama_viewer_plus插件来在Flutter应用中显示全景图。根据你的需求,你可以进一步自定义和扩展这个基础示例。

回到顶部