From 1a0db1952cd54144e4b4d8bccd8814eb75df8aa3 Mon Sep 17 00:00:00 2001 From: liugang9704 <2745340733@qq.com> Date: Wed, 25 Jun 2025 10:17:01 +0800 Subject: [PATCH 1/4] =?UTF-8?q?skills=E5=AD=97=E6=AE=B5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AbilityKit/oh-package-lock.json5 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/AbilityKit/oh-package-lock.json5 b/AbilityKit/oh-package-lock.json5 index 7fcf818..c2f6d1b 100644 --- a/AbilityKit/oh-package-lock.json5 +++ b/AbilityKit/oh-package-lock.json5 @@ -1,6 +1,7 @@ { "meta": { - "stableOrder": true + "stableOrder": true, + "enableUnifiedLockfile": false }, "lockfileVersion": 3, "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", -- Gitee From 536085b8eb252447eb31dbfabf021201f89bc789 Mon Sep 17 00:00:00 2001 From: liugang9704 <2745340733@qq.com> Date: Wed, 25 Jun 2025 10:17:44 +0800 Subject: [PATCH 2/4] =?UTF-8?q?skills=E5=AD=97=E6=AE=B5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AbilityKit/entry/src/main/module_fullscreen.json5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AbilityKit/entry/src/main/module_fullscreen.json5 b/AbilityKit/entry/src/main/module_fullscreen.json5 index 7944299..815fa3c 100644 --- a/AbilityKit/entry/src/main/module_fullscreen.json5 +++ b/AbilityKit/entry/src/main/module_fullscreen.json5 @@ -34,7 +34,7 @@ "entity.system.home" ], "actions": [ - "action.system.home" + "ohos.want.action.home" ] } ] -- Gitee From 0be011d60e4b4a95679f5990b1275aeca6eec95f Mon Sep 17 00:00:00 2001 From: liugang9704 <2745340733@qq.com> Date: Wed, 25 Jun 2025 11:58:17 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=BA=95=E9=83=A8?= =?UTF-8?q?=E5=AF=BC=E8=88=AA=E6=9D=A1=E8=8E=B7=E5=8F=96=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ets/entryability/EntryAbilityGetHeightAndStatus.ets | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ArkUI/entry/src/main/ets/entryability/EntryAbilityGetHeightAndStatus.ets b/ArkUI/entry/src/main/ets/entryability/EntryAbilityGetHeightAndStatus.ets index 86808d7..4cbb85c 100644 --- a/ArkUI/entry/src/main/ets/entryability/EntryAbilityGetHeightAndStatus.ets +++ b/ArkUI/entry/src/main/ets/entryability/EntryAbilityGetHeightAndStatus.ets @@ -29,10 +29,14 @@ import { window } from '@kit.ArkUI'; */ async function getWindowAvoidArea(context: common.UIAbilityContext): Promise { try { + // The default area of the system includes the status bar and navigation bar const mainWindow = await window.getLastWindow(context); - const avoidAreaType = window.AvoidAreaType.TYPE_SYSTEM; // The default area of the system includes the status bar and navigation bar + const avoidAreaType = window.AvoidAreaType.TYPE_SYSTEM; const avoidArea = mainWindow.getWindowAvoidArea(avoidAreaType); + const avoidAreaTypeNavigationBar = window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR; + const avoidAreaNavigationBar = mainWindow.getWindowAvoidArea(avoidAreaTypeNavigationBar); const height = avoidArea.topRect.height; + const heightNavigationBar = avoidAreaNavigationBar.bottomRect.height; return avoidArea } catch (e) { console.log('getWindowAvoidArea fail'); @@ -46,6 +50,8 @@ export default class MainAbility extends UIAbility { getWindowAvoidArea(this.context); windowStage.loadContent('pages/index'); } + // do something } + // [End entry_ability_height_and_status] \ No newline at end of file -- Gitee From abce1db5a4cf676fd100dbd3a0acd02f5bb30358 Mon Sep 17 00:00:00 2001 From: liugang9704 <2745340733@qq.com> Date: Wed, 25 Jun 2025 17:01:01 +0800 Subject: [PATCH 4/4] =?UTF-8?q?FAQ=E5=90=8C=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ArkUI/entry/obfuscation-rules.txt | 6 +- .../main/ets/pages/DisablePullDownRefresh.ets | 65 +++++++++++++++++++ .../entry/src/main/ets/pages/FontGradient.ets | 29 +++++++++ .../entry/src/main/ets/pages/RenderText_1.ets | 24 +++++++ .../entry/src/main/ets/pages/RenderText_2.ets | 54 +++++++++++++++ .../main/ets/pages/UseRouterJumpAndCrash.ets | 24 +++++++ 6 files changed, 201 insertions(+), 1 deletion(-) create mode 100644 ArkUI/entry/src/main/ets/pages/DisablePullDownRefresh.ets create mode 100644 ArkUI/entry/src/main/ets/pages/FontGradient.ets create mode 100644 ArkUI/entry/src/main/ets/pages/RenderText_1.ets create mode 100644 ArkUI/entry/src/main/ets/pages/RenderText_2.ets create mode 100644 ArkUI/entry/src/main/ets/pages/UseRouterJumpAndCrash.ets diff --git a/ArkUI/entry/obfuscation-rules.txt b/ArkUI/entry/obfuscation-rules.txt index 272efb6..bdfbc8a 100644 --- a/ArkUI/entry/obfuscation-rules.txt +++ b/ArkUI/entry/obfuscation-rules.txt @@ -17,7 +17,11 @@ # -keep-property-name: specifies property names that you want to keep # -keep-global-name: specifies names that you want to keep in the global scope +// [Start confusion_rule] -enable-property-obfuscation -enable-toplevel-obfuscation -enable-filename-obfuscation --enable-export-obfuscation \ No newline at end of file +-enable-export-obfuscation +-keep +./src/main/ets/startup/\*\* +// [End confusion_rule] \ No newline at end of file diff --git a/ArkUI/entry/src/main/ets/pages/DisablePullDownRefresh.ets b/ArkUI/entry/src/main/ets/pages/DisablePullDownRefresh.ets new file mode 100644 index 0000000..d0066c4 --- /dev/null +++ b/ArkUI/entry/src/main/ets/pages/DisablePullDownRefresh.ets @@ -0,0 +1,65 @@ +/** + * FAQ:如何禁用Refresh组件的下拉刷新 + */ + +// [Start disable_pull_down_refresh] +@Entry +@Component +struct Index { + @State isRefreshing: boolean = false; + @State arr: String[] = ['0', '1', '2', '3', '4', '5']; + @State downRatio: number = 1; + + build() { + Column() { + Refresh({ refreshing: $$this.isRefreshing }) { + Column() { + Row({ space: 10 }) { + Button('不允许下拉刷新') + .onClick(() => { + this.downRatio = 0; + }) + Button('允许下拉刷新') + .onClick(() => { + this.downRatio = 1; + }) + } + + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%') + .height(80) + .fontSize(16) + .margin(10) + .textAlign(TextAlign.Center) + .borderRadius(10) + .backgroundColor(0xFFFFFF) + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()); + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off) + } + } + .onRefreshing(() => { + setTimeout(() => { + this.isRefreshing = false; + }, 2000) + console.info('onRefreshing test'); + }) + .pullDownRatio(this.downRatio) + .backgroundColor(0x89CFF0) + .refreshOffset(64) + .pullToRefresh(true) + } + } +} + +// [End disable_pull_down_refresh] \ No newline at end of file diff --git a/ArkUI/entry/src/main/ets/pages/FontGradient.ets b/ArkUI/entry/src/main/ets/pages/FontGradient.ets new file mode 100644 index 0000000..7a735cd --- /dev/null +++ b/ArkUI/entry/src/main/ets/pages/FontGradient.ets @@ -0,0 +1,29 @@ +/** + * FAQ:如何实现字体渐变效果 + */ + +// [Start font_gradient] +@Entry +@Component +struct Index { + @State message: string = 'Hello World'; + + build() { + RelativeContainer() { + Row() { + Text(this.message) + .fontSize(24) + .fontWeight(FontWeight.Bold) + .blendMode(BlendMode.DST_IN, BlendApplyType.OFFSCREEN) + } + .linearGradient({ + direction: GradientDirection.Right, + colors: [['#ff0631f5', 0.0], ['#ff922626', 1]] + }) + .blendMode(BlendMode.SRC_OVER, BlendApplyType.OFFSCREEN) + } + .width('100%') + .height('100%') + } +} +// [End font_gradient] \ No newline at end of file diff --git a/ArkUI/entry/src/main/ets/pages/RenderText_1.ets b/ArkUI/entry/src/main/ets/pages/RenderText_1.ets new file mode 100644 index 0000000..63b268f --- /dev/null +++ b/ArkUI/entry/src/main/ets/pages/RenderText_1.ets @@ -0,0 +1,24 @@ +/** + * FAQ:使用Text嵌套Span或者使用熟悉字符串渲染文本,部分文本颜色显示异常 + */ + +// [Start render_text_1] +@Entry +@Component +struct Index { + build() { + Column() { + Text() { + Span('r') + .fontColor(Color.Blue) + Span('f') + .fontColor(Color.Red) + } + .fontSize(50) + } + .width('100%') + .height('100%') + } +} + +// [End render_text_1] \ No newline at end of file diff --git a/ArkUI/entry/src/main/ets/pages/RenderText_2.ets b/ArkUI/entry/src/main/ets/pages/RenderText_2.ets new file mode 100644 index 0000000..037d0d1 --- /dev/null +++ b/ArkUI/entry/src/main/ets/pages/RenderText_2.ets @@ -0,0 +1,54 @@ +/** + * FAQ:使用Text嵌套Span或者使用熟悉字符串渲染文本,部分文本颜色显示异常 + */ +import { LengthMetrics } from '@kit.ArkUI'; + +// [Start render_text_2] +@Entry +@Component +struct Index { + textController: TextController = new TextController(); + style1: MutableStyledString = new MutableStyledString(''); + + async onPageShow() { + this.style1.appendStyledString(new StyledString('sr', [{ + start: 0, + length: 2, + styledKey: StyledStringKey.FONT, + styledValue: new TextStyle({ fontColor: Color.Blue, fontSize: LengthMetrics.px(150) }) + }])); + this.style1.appendStyledString(new StyledString('fff', [{ + start: 0, + length: 5, + styledKey: StyledStringKey.FONT, + styledValue: new TextStyle({ fontColor: Color.Orange, fontSize: LengthMetrics.px(150) }) + }])); + this.textController.setStyledString(this.style1); + } + + build() { + Row() { + Column() { + Text(undefined, { controller: this.textController }) + .fontSize(30) + } + .width('100%') + } + .height('100%') + } +} + +// [End render_text_2] + +@Component +struct TextComponent { + build() { + Column() { + // [Start font_feature] + Text() + // ... + .fontFeature("\"liga\" 0") + // [End font_feature] + } + } +} \ No newline at end of file diff --git a/ArkUI/entry/src/main/ets/pages/UseRouterJumpAndCrash.ets b/ArkUI/entry/src/main/ets/pages/UseRouterJumpAndCrash.ets new file mode 100644 index 0000000..dff41c1 --- /dev/null +++ b/ArkUI/entry/src/main/ets/pages/UseRouterJumpAndCrash.ets @@ -0,0 +1,24 @@ +/** + * FAQ:使用Router跳转导致闪退,可能是神马原因,如何排查 + */ + +@Entry +@Component +struct Index { + build() { + Column() { + Button('click') + .onClick(() => { + // [Start use_router_jump_and_crash] + this.getUIContext().getRouter().pushUrl({ + url: 'login/UserNameLoginPage' + }, () => { + this.getUIContext().getRouter().clear(); + }) + // [End use_router_jump_and_crash] + }) + } + .width('100%') + .height('100%') + } +} \ No newline at end of file -- Gitee