最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Flutter實(shí)現(xiàn)用視頻背景的登錄頁的示例代碼

 更新時(shí)間:2019年08月05日 10:23:36   作者:Tecode  
這篇文章主要介紹了Flutter實(shí)現(xiàn)用視頻背景的登錄頁的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

最終效果

項(xiàng)目地址

https://github.com/Tecode/flutter_widget

實(shí)現(xiàn)方法

安裝插件

安裝video_player,我安裝的是最新的版本,請根據(jù)你自己的flutter版本去安裝對應(yīng)的版本,安卓可以直接使用虛擬機(jī),IOS需要真機(jī)才可以播放。

dev_dependencies:
 flutter_test:
  sdk: flutter
 video_player: ^0.10.1+6

我的Flutter版本

Flutter 1.7.8+hotfix.4 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 2e540931f7 (3 days ago) • 2019-07-09 13:14:38 -0700
Engine • revision 54ad777fd2
Tools • Dart 2.4.0

使用

import 'package:video_player/video_player.dart';

初始化播放

 @override
 void initState() {
  // TODO: implement initState
  super.initState();
  _controller = VideoPlayerController.network(videoUrl)
   ..initialize().then((_) {
    setState(() {});
    _controller.play();
    _controller.setLooping(true);
    // _controller.setVolume(0.0);
    Timer.periodic(Duration(seconds: 15), (Timer time) {
     print(time);
    });
   });
 }

銷毀時(shí)暫停

 @override
 void dispose() {
  // TODO: implement dispose
  super.dispose();
  _controller.pause();
 }

布局

主要部分

使用Transform.scale對視頻進(jìn)行縮放,我們想要的效果就是不管視頻是什么比率,都可以平鋪無拉伸的顯示。Center讓視頻放大以后居中顯示,縮放比為_controller.value.aspectRatio /MediaQuery.of(context).size.aspectRatio,用視頻的寬高比除以設(shè)備的寬高比。

如果我們對視頻進(jìn)行處理也會鋪滿全部屏幕,但是會被拉伸,看起來很丑,可以拉下代碼試一下。

 @override
 void dispose() {
  // TODO: implement dispose
  super.dispose();
  _controller.pause();
 }

 @override
 Widget build(BuildContext context) {
  return Scaffold(
    body: Stack(
   fit: StackFit.expand,
   children: <Widget>[
    Transform.scale(
     scale: _controller.value.aspectRatio /
       MediaQuery.of(context).size.aspectRatio,
     child: Center(
      child: Container(
       child: _controller.value.initialized
         ? AspectRatio(
           aspectRatio: _controller.value.aspectRatio,
           child: VideoPlayer(_controller),
          )
         : Text("正在初始化"),
      ),
     ),
    ),
    Positioned(
     width: MediaQuery.of(context).size.width,
     bottom: 26.0,
     child: Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: <Widget>[
       ClipRRect(
        borderRadius: BorderRadius.circular(60.0),
        child: MaterialButton(
         onPressed: () {},
         child: Text(
          "微信登錄",
          style:
            TextStyle(fontSize: 15.0, fontWeight: FontWeight.bold),
         ),
         color: Color(0xffFFDB2E),
         textColor: Color(0xff202326),
         height: 44.0,
         minWidth: 240.0,
         elevation: 0.0,
        ),
       ),
       SizedBox(
        height: 20.0,
       ),
       ClipRRect(
        borderRadius: BorderRadius.circular(60.0),
        child: MaterialButton(
         onPressed: () {},
         child: Text(
          "手機(jī)號登錄",
          style:
            TextStyle(fontSize: 15.0, fontWeight: FontWeight.bold),
         ),
         color: Color(0xff202326),
         height: 44.0,
         minWidth: 240.0,
         elevation: 0.0,
         textColor: Color(0xffededed),
        ),
       ),
       SizedBox(
        height: 60.0,
       ),
       Text(
        "我已閱讀并同意《服務(wù)協(xié)議》及《隱私政策》",
        style: TextStyle(color: Colors.white, fontSize: 13.0),
       )
      ],
     ),
    ),
    Positioned(
     width: MediaQuery.of(context).size.width,
     top: 80.0,
     child: Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: <Widget>[
       Text(
        "登錄",
        style: TextStyle(
          fontSize: 40.0,
          fontWeight: FontWeight.w400,
          color: Colors.white),
       ),
       SizedBox(
        height: 10.0,
       ),
       Text(
        "視頻背景登錄頁面",
        style: TextStyle(color: Colors.white, fontSize: 15.0),
       )
      ],
     ),
    )
   ],
  ));
 }

寫在最后

平時(shí)會不定期更新其它的組件歡迎關(guān)注,歡迎star。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用android-apktool來逆向(反編譯)APK包方法介紹

    使用android-apktool來逆向(反編譯)APK包方法介紹

    這篇文章主要介紹了使用android-apktool來逆向(反編譯)APK包方法介紹,本文講解了版本問題、使用apktool、反編譯decode、rebuild重打包等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • android LabelView實(shí)現(xiàn)標(biāo)簽云效果

    android LabelView實(shí)現(xiàn)標(biāo)簽云效果

    這篇文章主要為大家詳細(xì)介紹了android LabelView實(shí)現(xiàn)標(biāo)簽云效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Android中Webview打開網(wǎng)頁的同時(shí)發(fā)送HTTP頭信息方法

    Android中Webview打開網(wǎng)頁的同時(shí)發(fā)送HTTP頭信息方法

    這篇文章主要介紹了Android中Webview打開網(wǎng)頁的同時(shí)發(fā)送HTTP頭信息方法,本文是講解的是一種通過修改Referer來控制盜鏈的方法,需要的朋友可以參考下
    2015-01-01
  • Android ViewModel與Lifecycles和LiveData組件用法詳細(xì)講解

    Android ViewModel與Lifecycles和LiveData組件用法詳細(xì)講解

    JetPack是一個(gè)開發(fā)組件工具集,他的主要目的是幫助我們編寫出更加簡潔的代碼,并簡化我們的開發(fā)過程。JetPack中的組件有一個(gè)特點(diǎn),它們大部分不依賴于任何Android系統(tǒng)版本,這意味者這些組件通常是定義在AndroidX庫當(dāng)中的,并且擁有非常好的向下兼容性
    2023-01-01
  • Android之日期及時(shí)間選擇對話框用法實(shí)例分析

    Android之日期及時(shí)間選擇對話框用法實(shí)例分析

    這篇文章主要介紹了Android之日期及時(shí)間選擇對話框用法,以實(shí)例形式較為詳細(xì)的分析了Android創(chuàng)建日期及時(shí)間選擇對話框的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09
  • Flutter RSA加密解密的示例代碼

    Flutter RSA加密解密的示例代碼

    數(shù)據(jù)加密有對稱加密(對稱密鑰方案) 和非對稱加密(公鑰加密) 兩種加密方式,本文主要介紹了Flutter RSA加密解密的示例代碼,感興趣的可以了解一下
    2022-04-04
  • android RecyclerView的一些優(yōu)化點(diǎn)介紹

    android RecyclerView的一些優(yōu)化點(diǎn)介紹

    大家好,本篇文章主要講的是android RecyclerView的一些優(yōu)化點(diǎn)介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Android Studio配置本地SDK的方法

    Android Studio配置本地SDK的方法

    這篇文章主要介紹了Android Studio配置本地SDK的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 詳解Android端與JavaWeb傳輸加密(DES+RSA)

    詳解Android端與JavaWeb傳輸加密(DES+RSA)

    這篇文章主要介紹了詳解Android端與JavaWeb傳輸加密(DES+RSA),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • Android自定義View onDraw()方法會調(diào)用兩次的問題解決

    Android自定義View onDraw()方法會調(diào)用兩次的問題解決

    這篇文章主要介紹了Android自定義View onDraw()方法會調(diào)用兩次的問題解決,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-01-01

最新評論

济阳县| 温泉县| 西乌| 峨眉山市| 秦安县| 扎兰屯市| 和田市| 阜平县| 新晃| 化德县| 奉化市| 城口县| 仁布县| 肥西县| 潢川县| 宁河县| 亳州市| 汝州市| 定安县| 金沙县| 贵南县| 鹤庆县| 报价| 香港 | 吴忠市| 营口市| 仙居县| 德安县| 咸丰县| 肥城市| 安康市| 修文县| 平果县| 河源市| 枞阳县| 嵊泗县| 霍城县| 雷山县| 灵宝市| 吉安县| 集贤县|