diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index b446a9c55..560d83691 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -175,7 +175,7 @@
+ android:theme="@style/Ucrop.CropTheme"/>
+
+
+
\ No newline at end of file
diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml
index fd473c332..9983810cd 100644
--- a/android/app/src/main/res/values/styles.xml
+++ b/android/app/src/main/res/values/styles.xml
@@ -21,4 +21,6 @@
- ?android:colorBackground
- shortEdges
+
+
diff --git a/lib/models/video_detail_res.dart b/lib/models/video_detail_res.dart
index 038036020..8915fcd90 100644
--- a/lib/models/video_detail_res.dart
+++ b/lib/models/video_detail_res.dart
@@ -498,7 +498,7 @@ class Stat {
Stat.fromJson(Map json) {
aid = json["aid"];
- view = json["view"];
+ view = json["view"] == -1 ? 0 : json["view"];
danmaku = json["danmaku"];
reply = json["reply"];
favorite = json["favorite"];
diff --git a/lib/pages/common/common_publish_page.dart b/lib/pages/common/common_publish_page.dart
index f81baaf2b..bf77bf307 100644
--- a/lib/pages/common/common_publish_page.dart
+++ b/lib/pages/common/common_publish_page.dart
@@ -2,7 +2,6 @@ import 'dart:async';
import 'dart:io';
import 'dart:math';
-import 'package:PiliPlus/common/constants.dart';
import 'package:PiliPlus/common/widgets/button/icon_button.dart';
import 'package:PiliPlus/http/msg.dart';
import 'package:PiliPlus/models/common/image_preview_type.dart';
@@ -304,7 +303,7 @@ abstract class CommonPublishPageState
},
onLongPress: onClear,
child: ClipRRect(
- borderRadius: StyleString.mdRadius,
+ borderRadius: const BorderRadius.all(Radius.circular(4)),
child: Image(
height: height,
fit: BoxFit.fitHeight,
diff --git a/lib/pages/dynamics_create/view.dart b/lib/pages/dynamics_create/view.dart
index 30ae9e5d9..438652d3b 100644
--- a/lib/pages/dynamics_create/view.dart
+++ b/lib/pages/dynamics_create/view.dart
@@ -91,41 +91,44 @@ class _CreateDynPanelState extends CommonPublishPageState {
Widget _buildImageList(ThemeData theme) => Obx(
() => SizedBox(
height: 100,
- child: ListView.separated(
+ child: SingleChildScrollView(
scrollDirection: Axis.horizontal,
- physics: const AlwaysScrollableScrollPhysics(
- parent: BouncingScrollPhysics(),
- ),
padding: const EdgeInsets.symmetric(horizontal: 16),
- itemCount: pathList.length == limit ? limit : pathList.length + 1,
- itemBuilder: (context, index) {
- if (pathList.length != limit && index == pathList.length) {
- return Material(
- borderRadius: const BorderRadius.all(Radius.circular(12)),
- child: InkWell(
- borderRadius: const BorderRadius.all(Radius.circular(12)),
- onTap: () => onPickImage(() {
- if (pathList.isNotEmpty && !enablePublish.value) {
- enablePublish.value = true;
- }
- }),
- child: Ink(
- width: 100,
- height: 100,
- decoration: BoxDecoration(
- borderRadius:
- const BorderRadius.all(Radius.circular(12)),
- color: theme.colorScheme.secondaryContainer,
- ),
- child: const Center(child: Icon(Icons.add, size: 35)),
- ),
+ child: Row(
+ spacing: 10,
+ children: [
+ ...List.generate(
+ pathList.length, (index) => buildImage(index, 100)),
+ if (pathList.length != limit)
+ Builder(
+ builder: (context) {
+ const borderRadius =
+ BorderRadius.all(Radius.circular(10));
+ return Material(
+ borderRadius: borderRadius,
+ child: InkWell(
+ borderRadius: borderRadius,
+ onTap: () => onPickImage(() {
+ if (pathList.isNotEmpty && !enablePublish.value) {
+ enablePublish.value = true;
+ }
+ }),
+ child: Ink(
+ width: 100,
+ height: 100,
+ decoration: BoxDecoration(
+ borderRadius: borderRadius,
+ color: theme.colorScheme.secondaryContainer,
+ ),
+ child:
+ const Center(child: Icon(Icons.add, size: 35)),
+ ),
+ ),
+ );
+ },
),
- );
- } else {
- return buildImage(index, 100);
- }
- },
- separatorBuilder: (context, index) => const SizedBox(width: 10),
+ ],
+ ),
),
),
);
diff --git a/lib/pages/video/reply_new/view.dart b/lib/pages/video/reply_new/view.dart
index 08caa4be6..e12328d5d 100644
--- a/lib/pages/video/reply_new/view.dart
+++ b/lib/pages/video/reply_new/view.dart
@@ -93,15 +93,16 @@ class _ReplyPageState extends CommonPublishPageState {
return Container(
height: 85,
padding: const EdgeInsets.only(bottom: 10),
- child: ListView.separated(
+ child: SingleChildScrollView(
scrollDirection: Axis.horizontal,
- physics: const AlwaysScrollableScrollPhysics(
- parent: BouncingScrollPhysics(),
- ),
padding: const EdgeInsets.symmetric(horizontal: 15),
- itemCount: pathList.length,
- itemBuilder: (context, index) => buildImage(index, 75),
- separatorBuilder: (context, index) => const SizedBox(width: 10),
+ child: Row(
+ spacing: 10,
+ children: List.generate(
+ pathList.length,
+ (index) => buildImage(index, 75),
+ ),
+ ),
),
);
} else {
diff --git a/pubspec.lock b/pubspec.lock
index f91cbd028..07e112130 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -130,10 +130,10 @@ packages:
dependency: "direct main"
description:
name: audio_session
- sha256: "2b7fff16a552486d078bfc09a8cde19f426dc6d6329262b684182597bec5b1ac"
+ sha256: "8f96a7fecbb718cb093070f868b4cdcb8a9b1053dce342ff8ab2fde10eb9afb7"
url: "https://pub.dev"
source: hosted
- version: "0.1.25"
+ version: "0.2.2"
auto_orientation:
dependency: "direct main"
description:
@@ -590,10 +590,10 @@ packages:
dependency: "direct main"
description:
name: fl_chart
- sha256: "74959b99b92b9eebeed1a4049426fd67c4abc3c5a0f4d12e2877097d6a11ae08"
+ sha256: "577aeac8ca414c25333334d7c4bb246775234c0e44b38b10a82b559dd4d764e7"
url: "https://pub.dev"
source: hosted
- version: "0.69.2"
+ version: "1.0.0"
flex_seed_scheme:
dependency: "direct main"
description:
@@ -932,10 +932,10 @@ packages:
dependency: "direct main"
description:
name: image_cropper
- sha256: "266760ed426d7121f0ada02c672bfe5c1b5c714e908328716aee756f045709dc"
+ sha256: "4e9c96c029eb5a23798da1b6af39787f964da6ffc78fd8447c140542a9f7c6fc"
url: "https://pub.dev"
source: hosted
- version: "8.1.0"
+ version: "9.1.0"
image_cropper_for_web:
dependency: transitive
description:
@@ -1358,18 +1358,18 @@ packages:
dependency: "direct main"
description:
name: permission_handler
- sha256: "59adad729136f01ea9e35a48f5d1395e25cba6cea552249ddbe9cf950f5d7849"
+ sha256: "2d070d8684b68efb580a5997eb62f675e8a885ef0be6e754fb9ef489c177470f"
url: "https://pub.dev"
source: hosted
- version: "11.4.0"
+ version: "12.0.0+1"
permission_handler_android:
dependency: transitive
description:
name: permission_handler_android
- sha256: d3971dcdd76182a0c198c096b5db2f0884b0d4196723d21a866fc4cdea057ebc
+ sha256: "1e3bc410ca1bf84662104b100eb126e066cb55791b7451307f9708d4007350e6"
url: "https://pub.dev"
source: hosted
- version: "12.1.0"
+ version: "13.0.1"
permission_handler_apple:
dependency: transitive
description:
diff --git a/pubspec.yaml b/pubspec.yaml
index 5d643f5f4..44704c385 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -65,7 +65,7 @@ dependencies:
# 设备信息
device_info_plus: ^11.2.0
# 权限
- permission_handler: ^11.3.1
+ permission_handler: ^12.0.0+1
# 分享
# share_plus: ^10.0.2
share_plus:
@@ -116,7 +116,7 @@ dependencies:
# 媒体通知
audio_service: ^0.18.15
- audio_session: ^0.1.23
+ audio_session: ^0.2.2
# 音量、亮度、屏幕控制
flutter_volume_controller: ^1.3.3
@@ -184,13 +184,13 @@ dependencies:
intl: ^0.20.2
archive: ^4.0.0
flutter_svg: ^2.0.14
- image_cropper: ^8.0.2
+ image_cropper: ^9.1.0
#解压直播消息
brotli: ^0.6.0
expandable: ^5.0.1
flex_seed_scheme: ^3.4.1
live_photo_maker: ^0.0.6
- fl_chart: ^0.69.2
+ fl_chart: ^1.0.0
synchronized: ^3.3.0
document_file_save_plus: ^2.0.0
webdav_client: ^1.2.2