Toggle navigation
Toggle navigation
This project
Loading...
Sign in
developOne
/
harmonyPool
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
王士厅
2024-07-24 15:59:31 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
b9dae805e02528a1ebc147a137b89141b054b311
b9dae805
1 parent
5b99678a
fix: 图文稿件详情页,点击图片查看大图,双击图片,屏幕黑屏。系统升级原来的代码不兼容,
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
13 additions
and
12 deletions
sight_harmony/features/wdComponent/src/main/ets/components/MultiPictureDetailItemComponent.ets
sight_harmony/features/wdComponent/src/main/ets/utils/Managers.ets
sight_harmony/features/wdComponent/src/main/ets/components/MultiPictureDetailItemComponent.ets
View file @
b9dae80
...
...
@@ -3,7 +3,7 @@ import { matrix4, promptAction, window } from '@kit.ArkUI';
import { BusinessError } from '@kit.BasicServicesKit';
import { ScaleModel } from '../model/ScaleModel';
import { OffsetModel } from '../model/OffsetModel';
import {
w
indowSizeManager } from '../utils/Managers';
import {
W
indowSizeManager } from '../utils/Managers';
import { runWithAnimation } from '../utils/FuncUtils';
import { PhotoListBean } from 'wdBean/Index';
import { http } from '@kit.NetworkKit';
...
...
@@ -31,12 +31,12 @@ export struct MultiPictureDetailItemComponent {
private swiperControllerItem: SwiperController = new SwiperController()
@State currentOffset: number = 0
@Consume duration: number
windowSizeManager: WindowSizeManager = new WindowSizeManager();
async aboutToAppear() {
this.imageUri = this.MultiPictureDetailItem.picPath
this.getPicture()
console.log(TAG, JSON.stringify(this.MultiPictureDetailItem))
}
/**
...
...
@@ -113,15 +113,15 @@ export struct MultiPictureDetailItemComponent {
// const imageSource: image.ImageSource = image.createImageSource(this.imageUri);
imageSource.getImageInfo(0).then((data: image.ImageInfo) => {
this.imageWHRatio = data.size.width / data.size.height;
this.imageDefaultSize = this.calcImageDefaultSize(this.imageWHRatio, windowSizeManager.get());
if (this.imageDefaultSize.width === windowSizeManager.get().width) {
this.imageDefaultSize = this.calcImageDefaultSize(this.imageWHRatio, this.windowSizeManager.get());
if (this.imageDefaultSize.width === this.windowSizeManager.get().width) {
this.fitWH = "width";
} else {
this.fitWH = "height";
}
this.imageScaleInfo.maxScaleValue += this.fitWH === "width" ?
(windowSizeManager.get().height / this.imageDefaultSize.height) :
(windowSizeManager.get().width / this.imageDefaultSize.width);
(this.windowSizeManager.get().height / this.imageDefaultSize.height) :
(this.windowSizeManager.get().width / this.imageDefaultSize.width);
}).catch((err: BusinessError) => {
console.error(`[error][getImageInfo]${err.message}`);
});
...
...
@@ -275,7 +275,7 @@ export struct MultiPictureDetailItemComponent {
// 已经是缩小状态,双击放大
fn = () => {
this.isEnableSwipe = false;
const ratio: number = this.calcFitScaleRatio(this.imageDefaultSize, windowSizeManager.get());
const ratio: number = this.calcFitScaleRatio(this.imageDefaultSize,
this.
windowSizeManager.get());
this.imageScaleInfo.scaleValue = ratio;
this.imageOffsetInfo.reset();
this.matrix = matrix4.identity().scale({
...
...
sight_harmony/features/wdComponent/src/main/ets/utils/Managers.ets
View file @
b9dae80
import { window } from '@kit.ArkUI';
import { common } from '@kit.AbilityKit';
class WindowSizeManager {
export
class WindowSizeManager {
private size: window.Size = { width: 0, height: 0 };
// 获取UIAbility上下文
private context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext
constructor() {
window.getLastWindow(
getContext()
).then((value: window.Window) => {
window.getLastWindow(
this.context
).then((value: window.Window) => {
const rect: window.Rect = value.getWindowProperties().windowRect;
this.size.width = px2vp(rect.width);
this.size.height = px2vp(rect.height);
console.log(
`[windowWidth]${this.size.width} [windowHeight]${this.size.height}`);
// console.log('MultiPictureDetailItemComponent',
`[windowWidth]${this.size.width} [windowHeight]${this.size.height}`);
})
}
...
...
@@ -16,5 +19,3 @@ class WindowSizeManager {
return this.size;
}
}
\ No newline at end of file
export const windowSizeManager: WindowSizeManager = new WindowSizeManager();
\ No newline at end of file
...
...
Please
register
or
login
to post a comment