mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
@@ -130,7 +130,7 @@ class VideoDetailController extends GetxController
|
|||||||
StreamSubscription<Duration>? positionSubscription;
|
StreamSubscription<Duration>? positionSubscription;
|
||||||
|
|
||||||
late final scrollKey = GlobalKey<ExtendedNestedScrollViewState>();
|
late final scrollKey = GlobalKey<ExtendedNestedScrollViewState>();
|
||||||
late String _direction = 'horizontal';
|
late RxString direction = 'horizontal'.obs;
|
||||||
late final RxDouble scrollRatio = 0.0.obs;
|
late final RxDouble scrollRatio = 0.0.obs;
|
||||||
late final ScrollController scrollCtr = ScrollController()
|
late final ScrollController scrollCtr = ScrollController()
|
||||||
..addListener(scrollListener);
|
..addListener(scrollListener);
|
||||||
@@ -140,8 +140,9 @@ class VideoDetailController extends GetxController
|
|||||||
vsync: this,
|
vsync: this,
|
||||||
duration: const Duration(milliseconds: 200),
|
duration: const Duration(milliseconds: 200),
|
||||||
);
|
);
|
||||||
late final double minVideoHeight = Get.width * 9 / 16;
|
late final double minVideoHeight = min(Get.height, Get.width) * 9 / 16;
|
||||||
late final double maxVideoHeight = max(Get.height * 0.65, Get.width);
|
late final double maxVideoHeight =
|
||||||
|
max(max(Get.height, Get.width) * 0.65, min(Get.height, Get.width));
|
||||||
late double videoHeight = minVideoHeight;
|
late double videoHeight = minVideoHeight;
|
||||||
|
|
||||||
void setVideoHeight() {
|
void setVideoHeight() {
|
||||||
@@ -150,11 +151,17 @@ class VideoDetailController extends GetxController
|
|||||||
? 'horizontal'
|
? 'horizontal'
|
||||||
: 'vertical'
|
: 'vertical'
|
||||||
: 'horizontal';
|
: 'horizontal';
|
||||||
if (GStorage.collapsibleVideoPage.not || scrollCtr.hasClients.not) {
|
if (GStorage.collapsibleVideoPage.not) {
|
||||||
|
this.direction.value = direction;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (_direction != direction) {
|
if (scrollCtr.hasClients.not) {
|
||||||
_direction = direction;
|
videoHeight = direction == 'vertical' ? maxVideoHeight : minVideoHeight;
|
||||||
|
this.direction.value = direction;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (this.direction.value != direction) {
|
||||||
|
this.direction.value = direction;
|
||||||
double videoHeight =
|
double videoHeight =
|
||||||
direction == 'vertical' ? maxVideoHeight : minVideoHeight;
|
direction == 'vertical' ? maxVideoHeight : minVideoHeight;
|
||||||
if (this.videoHeight != videoHeight) {
|
if (this.videoHeight != videoHeight) {
|
||||||
@@ -1077,7 +1084,7 @@ class VideoDetailController extends GetxController
|
|||||||
? null
|
? null
|
||||||
: Duration(milliseconds: data.timeLength!),
|
: Duration(milliseconds: data.timeLength!),
|
||||||
// 宽>高 水平 否则 垂直
|
// 宽>高 水平 否则 垂直
|
||||||
direction: _direction,
|
direction: direction.value,
|
||||||
bvid: bvid,
|
bvid: bvid,
|
||||||
cid: cid.value,
|
cid: cid.value,
|
||||||
enableHeart: enableHeart,
|
enableHeart: enableHeart,
|
||||||
|
|||||||
@@ -305,9 +305,9 @@ class _VideoInfoState extends State<VideoInfo> with TickerProviderStateMixin {
|
|||||||
final ThemeData t = Theme.of(context);
|
final ThemeData t = Theme.of(context);
|
||||||
return SliverLayoutBuilder(
|
return SliverLayoutBuilder(
|
||||||
builder: (BuildContext context, SliverConstraints constraints) {
|
builder: (BuildContext context, SliverConstraints constraints) {
|
||||||
// bool isHorizontal = constraints.crossAxisExtent >
|
bool isHorizontal = context.orientation == Orientation.landscape &&
|
||||||
// constraints.viewportMainAxisExtent * 1.25;
|
constraints.crossAxisExtent >
|
||||||
bool isHorizontal = context.orientation == Orientation.landscape;
|
constraints.viewportMainAxisExtent * 1.25;
|
||||||
return SliverPadding(
|
return SliverPadding(
|
||||||
padding: const EdgeInsets.only(
|
padding: const EdgeInsets.only(
|
||||||
left: StyleString.safeSpace,
|
left: StyleString.safeSpace,
|
||||||
|
|||||||
@@ -193,7 +193,7 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
|||||||
// begin: MediaQuery.of(context).orientation == Orientation.landscape
|
// begin: MediaQuery.of(context).orientation == Orientation.landscape
|
||||||
// ? context.height
|
// ? context.height
|
||||||
// : ((enableVerticalExpand &&
|
// : ((enableVerticalExpand &&
|
||||||
// plPlayerController?.direction.value == 'vertical')
|
// videoDetailController.direction.value == 'vertical')
|
||||||
// ? context.width * 5 / 4
|
// ? context.width * 5 / 4
|
||||||
// : context.width * 9 / 16),
|
// : context.width * 9 / 16),
|
||||||
// end: 0,
|
// end: 0,
|
||||||
@@ -568,7 +568,7 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
|||||||
final double videoWidth = context.width;
|
final double videoWidth = context.width;
|
||||||
// debugPrint(videoDetailController.tabCtr.index);
|
// debugPrint(videoDetailController.tabCtr.index);
|
||||||
if (enableVerticalExpand &&
|
if (enableVerticalExpand &&
|
||||||
plPlayerController?.direction.value == 'vertical') {
|
videoDetailController.direction.value == 'vertical') {
|
||||||
videoHeight = context.width;
|
videoHeight = context.width;
|
||||||
}
|
}
|
||||||
if (MediaQuery.of(context).orientation ==
|
if (MediaQuery.of(context).orientation ==
|
||||||
@@ -648,7 +648,7 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
|||||||
Widget get childWhenDisabledAlmostSquareInner => Obx(
|
Widget get childWhenDisabledAlmostSquareInner => Obx(
|
||||||
() {
|
() {
|
||||||
if (enableVerticalExpand &&
|
if (enableVerticalExpand &&
|
||||||
plPlayerController?.direction.value == 'vertical') {
|
videoDetailController.direction.value == 'vertical') {
|
||||||
final double videoHeight = context.height -
|
final double videoHeight = context.height -
|
||||||
(removeSafeArea
|
(removeSafeArea
|
||||||
? 0
|
? 0
|
||||||
@@ -743,7 +743,7 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
|||||||
Widget get childWhenDisabledLandscapeInner => Obx(
|
Widget get childWhenDisabledLandscapeInner => Obx(
|
||||||
() {
|
() {
|
||||||
if (enableVerticalExpand &&
|
if (enableVerticalExpand &&
|
||||||
plPlayerController?.direction.value == 'vertical') {
|
videoDetailController.direction.value == 'vertical') {
|
||||||
final double videoHeight = context.height -
|
final double videoHeight = context.height -
|
||||||
(removeSafeArea ? 0 : MediaQuery.of(context).padding.top);
|
(removeSafeArea ? 0 : MediaQuery.of(context).padding.top);
|
||||||
final double videoWidth = videoHeight * 9 / 16;
|
final double videoWidth = videoHeight * 9 / 16;
|
||||||
|
|||||||
@@ -934,7 +934,7 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
|||||||
Widget get childWhenDisabledAlmostSquareInner => Obx(
|
Widget get childWhenDisabledAlmostSquareInner => Obx(
|
||||||
() {
|
() {
|
||||||
if (enableVerticalExpand &&
|
if (enableVerticalExpand &&
|
||||||
plPlayerController?.direction.value == 'vertical') {
|
videoDetailController.direction.value == 'vertical') {
|
||||||
final double videoHeight = context.height -
|
final double videoHeight = context.height -
|
||||||
(removeSafeArea
|
(removeSafeArea
|
||||||
? 0
|
? 0
|
||||||
@@ -1029,7 +1029,7 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
|||||||
Widget get childWhenDisabledLandscapeInner => Obx(
|
Widget get childWhenDisabledLandscapeInner => Obx(
|
||||||
() {
|
() {
|
||||||
if (enableVerticalExpand &&
|
if (enableVerticalExpand &&
|
||||||
plPlayerController?.direction.value == 'vertical') {
|
videoDetailController.direction.value == 'vertical') {
|
||||||
final double videoHeight = context.height -
|
final double videoHeight = context.height -
|
||||||
(removeSafeArea ? 0 : MediaQuery.of(context).padding.top);
|
(removeSafeArea ? 0 : MediaQuery.of(context).padding.top);
|
||||||
final double videoWidth = videoHeight * 9 / 16;
|
final double videoWidth = videoHeight * 9 / 16;
|
||||||
|
|||||||
Reference in New Issue
Block a user