lslv1243 / pip_view Goto Github PK
View Code? Open in Web Editor NEWLicense: BSD 3-Clause "New" or "Revised" License
License: BSD 3-Clause "New" or "Revised" License
I have designed an application that has a video play button on the screen (Suppose the name of this page is A). When the user clicks on the button, we enter a page where player is located with push method of navigator class(Suppose the name of this page is B). I used the better player package to play the video. I want the player to be floating when we return from page B to page A.
I checked the code of this package I realized that the input of the presentBelow method is the page that is going to be under the current page. But this method creates this page once again. While I have to send page A to this method, I have already created page A in the stack and I do not want to create it again. What is the solution to this problem? Thank you for your help
I have 3 screens, here 3rd screen has pip mode and 2nd screen acts as background screen, i want to navigate back from 2nd screen to 1st screen when pip mode is on and 3rd screen should be in pip mode in 1st screen also. I am getting error "_history.isnotempty", when backpressed in 2nd screen. How to resolve this issue?
this is ok:
Navigator.of(context).push(MaterialPageRoute(builder: (context) => MePage(),));
context.pushNamed(me);
error:
======== Exception caught by scheduler library =====================================================
The following assertion was thrown during a scheduler callback:
There are multiple heroes that share the same tag within a subtree.
Within each subtree for which heroes are to be animated (i.e. a PageRoute subtree), each Hero must have a unique non-null tag.
In this case, multiple heroes had the following tag: <default FloatingActionButton tag>
Here is the subtree for one of the offending heroes: Hero
tag: <default FloatingActionButton tag>
state: _HeroState#e8d94
When the exception was thrown, this was the stack:
#0 Hero._allHeroesFor.inviteHero.<anonymous closure> (package:flutter/src/widgets/heroes.dart:283:11)
#1 Hero._allHeroesFor.inviteHero (package:flutter/src/widgets/heroes.dart:294:8)
#2 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:313:11)
#3 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6286:14)
#4 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#5 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#6 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#7 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6286:14)
#8 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#9 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#10 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#11 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6286:14)
#12 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#13 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#14 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#15 MultiChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6398:16)
#16 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#17 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#18 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#19 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#20 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#21 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#22 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#23 MultiChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6398:16)
#24 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#25 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#26 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#27 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#28 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#29 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#30 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#31 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#32 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#33 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#34 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#35 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6286:14)
#36 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#37 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#38 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#39 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6286:14)
#40 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#41 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#42 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#43 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#44 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#45 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#46 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#47 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#48 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#49 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#50 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#51 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#52 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#53 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#54 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#55 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#56 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#57 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#58 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#59 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6286:14)
#60 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#61 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6286:14)
#62 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#63 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6286:14)
#64 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#65 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6286:14)
#66 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#67 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6286:14)
#68 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#69 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6286:14)
#70 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#71 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#72 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#73 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#74 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#75 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#76 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#77 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6286:14)
#78 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#79 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#80 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#81 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6286:14)
#82 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#83 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#84 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#85 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6286:14)
#86 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#87 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#88 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#89 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#90 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#91 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6286:14)
#92 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#93 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6286:14)
#94 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#95 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#96 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#97 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#98 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#99 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#100 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#101 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#102 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#103 MultiChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6398:16)
#104 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#105 _LayoutBuilderElement.visitChildren (package:flutter/src/widgets/layout_builder.dart:67:14)
#106 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#107 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#108 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#109 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#110 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#111 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#112 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#113 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6286:14)
#114 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#115 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4931:14)
#116 Hero._allHeroesFor.visitor (package:flutter/src/widgets/heroes.dart:328:15)
#117 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6286:14)
#118 Element.visitChildElements (package:flutter/src/widgets/framework.dart:3466:5)
#119 Hero._allHeroesFor (package:flutter/src/widgets/heroes.dart:331:13)
#120 HeroController._startHeroTransition (package:flutter/src/widgets/heroes.dart:945:14)
#121 HeroController._maybeStartHeroTransition.<anonymous closure> (package:flutter/src/widgets/heroes.dart:899:11)
#122 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1175:15)
#123 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1113:9)
#124 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1015:5)
#125 _invoke (dart:ui/hooks.dart:148:13)
#126 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:318:5)
#127 _drawFrame (dart:ui/hooks.dart:115:31)
====================================================================================================
What - Using pip view get call back(onTapTopWidget) when close the floating view to caller widget
Why - Many times i want to perform my own action when closed the floating view.
Optional solution - of course i can directly use the RawPIPView but i want to use directly PIPView.
Can we modify this PIPView ->
return PIPView(
builder: (context, isFloating) {
When use PIPView like above can we add a function which returns the call back(onTapTopWidget) when pip view floating view is closed?
get call back
onTapTopWidget : () {}, // modification i want here
return PIPView(
**onTapTopWidget : () {},** // modification i want here
builder: (context, isFloating) {
pip_view.dar library build function line line 47 to 71
modify this
onTapTopWidget: isFloating ? stopFloating : null, from here return call back
return RawPIPView(
avoidKeyboard: widget.avoidKeyboard,
bottomWidget: isFloating
? Navigator(
onGenerateInitialRoutes: (navigator, initialRoute) => [
MaterialPageRoute(builder: (context) => _bottomWidget!),
],
)
: null,
**onTapTopWidget: isFloating ? stopFloating : null, from here return call back**
topWidget: IgnorePointer(
ignoring: isFloating,
child: Builder(
builder: (context) => widget.builder(context, isFloating),
),
),
floatingHeight: widget.floatingHeight,
floatingWidth: widget.floatingWidth,
initialCorner: widget.initialCorner,
);
The Keyboard showing white Spaces in pip Screen when the keyboard is open in background screen
Can any pls help with this issue .
when pip is active and i move to another page using VRouter, pip is dissapear
Hello,
Thanks for your plugin.
May I suggest some features to allow fixed width and height instead of keeping of the device screen ratio? And could you please allow to put the floating widget anywhere instead of only the corners?
Thanks again.
I am not able to play video like amazon prime or netflix on pip mode. it should give me option for full screen, play pause while state is in pip view.
Hello @lslv1243,
Thank you for the nice package.
Is there a way to show the pip view below nothing, I mean above the previously opened screen when floating?
I tried calling the following, but the result is PIP floating below a black screen.
PIPView.of(context).presentBelow(MyBackgroundScreen());
class MyBackgroundScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.transparent,
body: Container(
child: Text('This is my background screen!'),
),
);
}
}
I want this great plugin in my project. But my project uses Route navigation.
Hello,
I am getting Null-Safety error while running the app.
Flutter version 2.8.1
Can u pls help me with the issue
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.