已合并
docs: 升级文档模板至v0.4.2,仅保留0.72分支内容 #98
docs: 升级文档模板至v0.4.2,仅保留0.72分支内容 #98
已合并
fangzhen创建于 22 天前
2 个文件变更+183-654
MREADME.md+86-318
@@ -1,4 +1,4 @@
1-> 模板版本:v0.4.01+> 文档模板:v0.4.2
2 2 
3<p align="center">3<p align="center">
4 <h1 align="center"> <code>@react-native-ohos/react-native-screens</code> </h1>4 <h1 align="center"> <code>@react-native-ohos/react-native-screens</code> </h1>
@@ -6,129 +6,46 @@
6 6 
7本项目基于 [react-native-screens](https://github.com/software-mansion/react-native-screens) 开发。7本项目基于 [react-native-screens](https://github.com/software-mansion/react-native-screens) 开发。
8 8 
9-!!!后续主推新的鸿蒙版@react-native-ohos/react-native-screens,社区不再支持。9+该第三方库的仓库已迁移至 Gitcode,且支持直接从 npm 下载,新的包名为:`@react-native-ohos/react-native-screens` 本所属关系如下:
10 10 
11-请到三方库 Releases 发布地址查看配套的版本信息11+| 三方库名称 | 三方库版本(npm地址) | 发布信息 | 支持RN版本 | Autolink | 编译API版本 | 社区基线版本 | 源码地址 |
12+| ------------ | ------------ | ------------------------------ | ------------- | ------------- |------------------------ | ------------- | ------------- |
13+| @react-native-ohos/react-native-screens | [~ 3.34.0(开发中)](https://www.npmjs.com/package/@react-native-ohos/react-native-screens) | [Gitcode Releases](https://gitcode.com/CPF-RN/rntpc_react-native-screens/releases) | 0.72.* | 是 | API12+ | 3.34.0 | [br_rnoh0.72](https://gitcode.com/CPF-RN/rntpc_react-native-screens/tree/br_rnoh0.72) |
14+| @react-native-oh-tpl/react-native-screens | [<= 3.34.0-0.0.2@deprecated](https://www.npmjs.com/package/@react-native-oh-tpl/react-native-screens) | [Github Releases(deprecated)](https://github.com/react-native-oh-library/react-native-harmony-screens/releases) | 0.72.* | 否 | API12+ | 3.34.0 | [sig](https://github.com/react-native-oh-library/react-native-harmony-screens) |
12 15 
13-| 三方库名称 | 三方库版本 | 发布信息 | 支持RN版本 | Autolink | 编译API版本 | 社区基线版本 | npm地址 |16+## 简介
14-| ------------ |--------| ------------------------------------------------------------ | ---------- | ------------- |------------------------ | ------------- | ------------- |
15-| @react-native-ohos/react-native-screens | ~ 4.9.0(开发中) | [@react-native-ohos/react-native-screens Releases](https://gitcode.com/openharmony-sig/rntpc_react-native-screens/releases) | 0.82.* | 否 | API12+ | 4.17.1 | [Npm Address](https://www.npmjs.com/package/@react-native-ohos/react-native-screens) |
16-| @react-native-ohos/react-native-screens | ~ 4.8.1(开发中) | [@react-native-ohos/react-native-screens Releases](https://gitcode.com/openharmony-sig/rntpc_react-native-screens/releases) | 0.77.* | 否 | API12+ | 4.8.0 | [Npm Address](https://www.npmjs.com/package/@react-native-ohos/react-native-screens) |
17-| @react-native-ohos/react-native-screens | ~ 3.34.1(开发中) | [@react-native-ohos/react-native-screens Releases](https://gitcode.com/openharmony-sig/rntpc_react-native-screens/releases) | 0.72.* | 是 | API12+ | 3.34.1 | [Npm Address](https://www.npmjs.com/package/@react-native-ohos/react-native-screens) |
18-| @react-native-oh-tpl/react-native-screens | <= 3.34.0-0.0.2@deprecated | [@react-native-oh-tpl/react-native-screens Releases(deprecated)](https://github.com/react-native-oh-library/react-native-harmony-screens/releases) | 0.72.* | 否 | API12+ | 3.34.0 | [Npm Address](https://www.npmjs.com/package/@react-native-oh-tpl/react-native-screens) |
19 17 
20-## 1. 安装与使用18+react-native-screens React Navigation 生态系统中的原生屏幕导航组件库,提供原生导航的屏幕堆栈管理能力,支持 iOS、Android、HarmonyOS 平台。
19+ 
20+## 下载安装
21 21 
22本库实现依赖 @react-navigation/native、@react-native-ohos/native-stack、@react-native-ohos/stack、@react-native-ohos/react-native-safe-area-context、@react-native-ohos/react-native-gesture-handler、@react-native-ohos/react-native-reanimated 的原生端代码,如已在工程中引入过该库,则无需再次引入,可跳过本章节步骤,直接使用。22本库实现依赖 @react-navigation/native、@react-native-ohos/native-stack、@react-native-ohos/stack、@react-native-ohos/react-native-safe-area-context、@react-native-ohos/react-native-gesture-handler、@react-native-ohos/react-native-reanimated 的原生端代码,如已在工程中引入过该库,则无需再次引入,可跳过本章节步骤,直接使用。
23 23 
24-如未引入请参照 [@react-navigation/native 文档的 Link 章节](./react-navigation-native.md) ,[@react-native-ohos/react-native-gesture-handler 文档的 Link 章节](./react-native-gesture-handler.md) ,[@react-native-ohos/react-native-safe-area-context 文档的 Link 章节](./react-native-safe-area-context.md),[@react-native-ohos/react-native-reanimated 文档的 Link 章节](./react-native-reanimated.md)进行引入。24+如未引入请参照 [@react-navigation/native 文档的 Link 章节](https://gitcode.com/CPF-RN/usage-docs/blob/master/zh-cn/react-navigation-native.md) ,[@react-native-ohos/react-native-gesture-handler 文档的 Link 章节](https://gitcode.com/CPF-RN/usage-docs/blob/master/zh-cn/react-native-gesture-handler.md) ,[@react-native-ohos/react-native-safe-area-context 文档的 Link 章节](https://gitcode.com/CPF-RN/usage-docs/blob/master/zh-cn/react-native-safe-area-context.md),[@react-native-ohos/react-native-reanimated 文档的 Link 章节](https://gitcode.com/CPF-RN/usage-docs/blob/master/zh-cn/react-native-reanimated.md)进行引入。
25 25 
26进入到工程目录并输入以下命令:26进入到工程目录并输入以下命令:
27 27 
28以下为@react-native-ohos/react-native-screens鸿蒙化结合@react-native-ohos/native-stack、@react-native-ohos/stack使用:28以下为@react-native-ohos/react-native-screens鸿蒙化结合@react-native-ohos/native-stack、@react-native-ohos/stack使用:
29 29 
30-#### **npm**30+**npm**
31 31 
32```bash32```bash
33-# 0.7233+npm install @react-native-ohos/react-native-screens@3.34.2-beta.2
34-npm install @react-native-ohos/react-native-screens@3.34.2-rc.134+npm install @react-native-ohos/native-stack@6.9.28-beta.1
35-npm install @react-native-ohos/native-stack@6.9.28-rc.135+npm install @react-native-ohos/stack@6.4.2-beta.2
36-npm install @react-native-ohos/stack@6.4.2-rc.1
37npm install react-native-screens@3.34.036npm install react-native-screens@3.34.0
38- 
39-# 0.77
40-npm install @react-native-ohos/react-native-screens@4.8.3-rc.3
41-npm install @react-native-ohos/native-stack@7.3.13-rc.3
42-npm install @react-native-ohos/stack@7.2.12-rc.1
43-npm install react-native-screens@4.8.0
44- 
45-# 0.82
46-npm install @react-native-ohos/react-native-screens@4.9.0-rc.13
47-npm install @react-native-ohos/native-stack@7.4.0-rc.13
48-npm install @react-native-ohos/stack@7.2.12-rc.1
49-npm install react-native-screens@4.17.1
50```37```
51 38 
52-#### **yarn**39+**yarn**
53 40 
54```bash41```bash
55-# 0.7242+yarn add @react-native-ohos/react-native-screens@3.34.2-beta.2
56-yarn add @react-native-ohos/react-native-screens@3.34.2-rc.143+yarn add @react-native-ohos/native-stack@6.9.28-beta.1
57-yarn add @react-navigation/native-stack@6.9.28-rc.144+yarn add @react-native-ohos/stack@6.4.2-beta.2
58-yarn add @react-native-ohos/stack@6.4.2-rc.1
59yarn add react-native-screens@3.34.045yarn add react-native-screens@3.34.0
60- 
61-# 0.77
62-yarn add @react-native-ohos/react-native-screens@4.8.3-rc.3
63-yarn add @react-navigation/native-stack@7.3.13-rc.3
64-yarn add @react-native-ohos/stack@7.2.12-rc.1
65-yarn add react-native-screens@4.8.0
66- 
67-# 0.82
68-yarn add @react-native-ohos/react-native-screens@4.9.0-rc.13
69-yarn add @react-navigation/native-stack@7.4.0-rc.13
70-yarn add @react-native-ohos/stack@7.2.12-rc.1
71-yarn add react-native-screens@4.17.1
72```46```
73 47 
74-以下为@react-native-ohos/react-native-screens鸿蒙化结合@react-navigation/native-stack、@react-navigation/stack使用48+## 使用示例
75- 
76-<details>
77- <summary>详细内容如下:</summary>
78-
79-### 3.34.1
80- 
81-本库实现依赖 @react-navigation/native、@react-navigation/native-stack、@react-native-ohos/react-native-safe-area-context、@react-native-ohos/react-native-gesture-handler、@react-native-ohos/react-native-reanimated 的原生端代码,如已在工程中引入过该库,则无需再次引入,可跳过本章节步骤,直接使用。
82- 
83-注:若已引入 `@react-native-oh-tpl/native-stack,@react-native-ohos/native-stack` 库,请务必卸载,否则本库将无法正确指向,导致无法使用。
84- 
85-如未引入请参照 [@react-navigation/native 文档的 Link 章节](./react-navigation-native.md) ,[@react-native-ohos/react-native-gesture-handler 文档的 Link 章节](./react-native-gesture-handler.md) ,[@react-native-ohos/react-native-safe-area-context 文档的 Link 章节](./react-native-safe-area-context.md),[@react-native-ohos/react-native-reanimated 文档的 Link 章节](./react-native-reanimated.md)进行引入。
86- 
87-#### **npm**
88- 
89-```bash
90-# 0.72
91-npm install @react-native-ohos/react-native-screens@3.34.1-X.X.X
92-npm install @react-navigation/native-stack@6.9.13
93-npm install @react-navigation/stack@6.4.1
94-npm install react-native-screens@3.34.0
95- 
96-# 0.77
97-npm install @react-native-ohos/react-native-screens@4.8.1-X.X.X
98-npm install @react-navigation/native-stack@7.2.0
99-npm install @react-navigation/stack@7.2.10
100-npm install react-native-screens@4.8.0
101- 
102-# 0.82
103-npm install @react-native-ohos/react-native-screens@4.9.0-X.X.X
104-npm install @react-navigation/native-stack@7.3.10
105-npm install @react-navigation/stack@7.2.10
106-npm install react-native-screens@4.17.1
107-```
108- 
109-#### **yarn**
110- 
111-```bash
112-# 0.72
113-yarn add @react-native-ohos/react-native-screens@3.34.1-X.X.X
114-yarn add @react-navigation/native-stack@6.9.13
115-yarn add @react-navigation/stack@6.9.13
116-yarn add react-native-screens@3.34.0
117- 
118-# 0.77
119-yarn add @react-native-ohos/react-native-screens@4.8.1-X.X.X
120-yarn add @react-navigation/native-stack@7.2.0
121-yarn add @react-navigation/stack@6.9.13
122-yarn add react-native-screens@4.8.0
123- 
124-# 0.82
125-yarn add @react-native-ohos/react-native-screens@4.9.0-X.X.X
126-yarn add @react-navigation/native-stack@7.3.10
127-yarn add @react-navigation/stack@6.9.13
128-yarn add react-native-screens@4.17.1
129-```
130-
131-</details>
132 49 
133下面的代码展示了这个库的基本使用场景:50下面的代码展示了这个库的基本使用场景:
134 51 
@@ -214,16 +131,14 @@ export default function App() {
214 131 
215```132```
216 133 
217-## 2. Link134+## Link
218 135 
219| | 是否支持autolink | RN框架版本 |136| | 是否支持autolink | RN框架版本 |
220|--------------------------------------|-----------------|------------|137|--------------------------------------|-----------------|------------|
221-| ~4.9.0 | No | 0.82 |138+| ~3.34.0 | Yes | 0.72 |
222-| ~4.8.1 | No | 0.77 |
223-| ~3.34.1 | Yes | 0.72 |
224| <= 3.34.0-0.0.2@deprecated | No | 0.72 |139| <= 3.34.0-0.0.2@deprecated | No | 0.72 |
225 140 
226-使用AutoLink的工程需要根据该文档配置,Autolink框架指导文档:https://gitcode.com/openharmony-sig/ohos_react_native/blob/master/docs/zh-cn/Autolinking.md141+使用AutoLink的工程需要根据该文档配置,Autolink框架指导文档:https://gitcode.com/CPF-RN/ohos_react_native/blob/master/docs/zh-cn/Autolinking.md
227 142 
228如您使用的版本支持 Autolink,并且工程已接入 Autolink,可跳过ManualLink配置。143如您使用的版本支持 Autolink,并且工程已接入 Autolink,可跳过ManualLink配置。
229 144 
@@ -232,18 +147,19 @@ export default function App() {
232 147 
233首先需要使用 DevEco Studio 打开项目里的 HarmonyOS 工程 `harmony`148首先需要使用 DevEco Studio 打开项目里的 HarmonyOS 工程 `harmony`
234 149 
235-### 2.1. 在工程根目录的 `oh-package.json5` 添加 overrides 字段150+### 1. Overrides RN SDK
236 151 
237```json152```json
238{153{
239- ...
240 "overrides": {154 "overrides": {
241- "@rnoh/react-native-openharmony" : "file:../node_modules/@rnoh/react-native-harmony/harmony/react_native_openharmony.har"155+ "@rnoh/react-native-openharmony": "^0.72.38" // ohpm 在线版本
156+ // "@rnoh/react-native-openharmony" : "./react_native_openharmony.har" // 指向本地 har 包的路径
157+ // "@rnoh/react-native-openharmony" : "./react_native_openharmony" // 指向源码路径
242 }158 }
243}159}
244```160```
245 161 
246-### 2.2. 引入原生端代码162+### 2. 引入原生端代码
247 163 
248目前有两种方法:164目前有两种方法:
249 165 
@@ -274,9 +190,9 @@ ohpm install
274 190 
275方法二:直接链接源码191方法二:直接链接源码
276 192 
277-> [!TIP] 如需使用直接链接源码,请参考[直接链接源码说明](./link-source-code.md)193+> [!TIP] 如需使用直接链接源码,请参考[直接链接源码说明](https://gitcode.com/CPF-RN/usage-docs/blob/master/zh-cn/link-source-code.md)
278 194 
279-### 2.3. 配置 CMakeLists 和引入 Package195+### 3. 配置 CMakeLists 和引入 Package
280 196 
281打开 `entry/src/main/cpp/CMakeLists.txt`,添加:197打开 `entry/src/main/cpp/CMakeLists.txt`,添加:
282 198 
@@ -322,9 +238,6 @@ target_link_libraries(rnoh_app PUBLIC rnoh_sample_package)
322```diff238```diff
323#include "RNOH/PackageProvider.h"239#include "RNOH/PackageProvider.h"
324#include "generated/RNOHGeneratedPackage.h"240#include "generated/RNOHGeneratedPackage.h"
325-# 0.77/0.82
326-+ #include "RnohReactNativeHarmonyScreensPackage.h"
327-# 0.72
328+ #include "ScreensPackage.h"241+ #include "ScreensPackage.h"
329 242 
330using namespace rnoh;243using namespace rnoh;
@@ -333,15 +246,12 @@ std::vector<std::shared_ptr<Package>> PackageProvider::getPackages(Package::Cont
333 return {246 return {
334 std::make_shared<RNOHGeneratedPackage>(ctx),247 std::make_shared<RNOHGeneratedPackage>(ctx),
335 std::make_shared<SamplePackage>(ctx),248 std::make_shared<SamplePackage>(ctx),
336-# 0.77/0.82
337-+ std::make_shared<rnoh::RnohReactNativeHarmonyScreensPackage>(ctx),
338-# 0.72
339+ std::make_shared<rnoh::ScreensPackage>(ctx),249+ std::make_shared<rnoh::ScreensPackage>(ctx),
340 };250 };
341}251}
342```252```
343 253 
344-### 2.4. 在ArkTs侧导入组件254+### 4. 在ArkTs侧导入组件
345 255 
346找到 function buildCustomRNComponent(),一般位于 entry/src/main/ets/pages/index.ets 或 entry/src/main/ets/rn/LoadBundle.ets,添加:256找到 function buildCustomRNComponent(),一般位于 entry/src/main/ets/pages/index.ets 或 entry/src/main/ets/rn/LoadBundle.ets,添加:
347 257 
@@ -378,7 +288,7 @@ const arkTsComponentNames: Array<string> = [
378];288];
379```289```
380 290 
381-### 2.5. 在ArkTs侧引入Package291+### 5. 在ArkTs侧引入Package
382 292 
383打开 `src/main/ets/RNOHPackagesFactory.ets`,添加:293打开 `src/main/ets/RNOHPackagesFactory.ets`,添加:
384 294 
@@ -397,7 +307,7 @@ export function createRNOHPackages(ctx: RNPackageContext): RNPackage[] {
397```307```
398</details>308</details>
399 309 
400-### 2.6 运行310+### 运行
401 311 
402点击右上角的 `sync` 按钮312点击右上角的 `sync` 按钮
403 313 
@@ -410,9 +320,9 @@ ohpm install
410 320 
411然后编译、运行即可。321然后编译、运行即可。
412 322 
413-## 3. 约束与限制323+## 约束与限制
414 324 
415-### 3.1.兼容性325+### 兼容性
416 326 
417要使用此库,需要使用正确的 React-Native 和 RNOH 版本。另外,还需要使用配套的 DevEco Studio 和 手机 ROM。327要使用此库,需要使用正确的 React-Native 和 RNOH 版本。另外,还需要使用配套的 DevEco Studio 和 手机 ROM。
418 328 
@@ -420,10 +330,8 @@ ohpm install
420 330 
4211. RNOH: 0.72.96; SDK: HarmonyOS 6.0.0 Release SDK; IDE: DevEco Studio 6.0.0.858; ROM: 6.0.0.112;3311. RNOH: 0.72.96; SDK: HarmonyOS 6.0.0 Release SDK; IDE: DevEco Studio 6.0.0.858; ROM: 6.0.0.112;
4222. RNOH: 0.72.33; SDK: HarmonyOS NEXT B1; IDE: DevEco Studio: 5.0.3.900; ROM: Next.0.0.71;3322. RNOH: 0.72.33; SDK: HarmonyOS NEXT B1; IDE: DevEco Studio: 5.0.3.900; ROM: Next.0.0.71;
423-3. RNOH: 0.77.18; SDK: HarmonyOS 6.0.0 Release SDK; IDE: DevEco Studio 6.0.0.858; ROM: 6.0.0.112;
424-4. RNOH: 0.82.25; SDK: HarmonyOS 6.0.2 Release SDK; IDE: DevEco Studio 6.0.2.650; ROM: 6.0.0.328;
425 333 
426-## 4. 属性334+## 接口说明
427 335 
428> [!TIP] "Platform"列表示该属性在原三方库上支持的平台。336> [!TIP] "Platform"列表示该属性在原三方库上支持的平台。
429 337 
@@ -445,7 +353,7 @@ ohpm install
445| userAnimatedHeaderHeight | 动态计算标题栏的高度,此值会随着每个视图布局变化而变化 | function | No | iOS Android | NO |353| userAnimatedHeaderHeight | 动态计算标题栏的高度,此值会随着每个视图布局变化而变化 | function | No | iOS Android | NO |
446| type | 子标题类型 | property | No | iOS Android | Yes |354| type | 子标题类型 | property | No | iOS Android | Yes |
447 355 
448-# ScreenProps 属性列表356+### ScreenProps 属性列表
449 357 
450| Name | Description | Type | Required | Platform | HarmonyOS Support |358| Name | Description | Type | Required | Platform | HarmonyOS Support |
451| -------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -------- | ----------- | ----------------- |359| -------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -------- | ----------- | ----------------- |
@@ -456,14 +364,10 @@ ohpm install
456| onSearchButtonPress | 搜索 | function | No | iOS Android | Yes |364| onSearchButtonPress | 搜索 | function | No | iOS Android | Yes |
457| onCancelButtonPress | 取消搜索 | function | No | iOS Android | Yes |365| onCancelButtonPress | 取消搜索 | function | No | iOS Android | Yes |
458| onChangeText | 搜索栏文本变更 | function | No | iOS Android | Yes |366| onChangeText | 搜索栏文本变更 | function | No | iOS Android | Yes |
459-| customAnimationOnSwipe<sup>4.8.1</sup> | 布尔值,表示滑动解除应触发“stackAnimation”提供的动画。默认为“false”。 | `boolean` | No | iOS | No |
460| fullScreenSwipeEnabled | 全屏滑动 | `boolean` | No | iOS | Yes |367| fullScreenSwipeEnabled | 全屏滑动 | `boolean` | No | iOS | Yes |
461-| fullScreenSwipeShadowEnabled<sup>4.8.1</sup> | 布尔值,指示全屏解除手势在过渡期间是否在视图下有阴影。手势使用自定义过渡,因此默认情况下没有阴影。启用后,在转换过程中会添加一个自定义阴影视图,试图模仿默认iOS阴影。默认为“true”。 | `boolean` | No | iOS | No |
462| gestureEnabled | 是否开启手势滑动 | `boolean` | No | iOS | Yes |368| gestureEnabled | 是否开启手势滑动 | `boolean` | No | iOS | Yes |
463| gestureResponseDistance | 手势滑动的有效区域 | `GestureResponseDistanceType` | No | iOS | Yes |369| gestureResponseDistance | 手势滑动的有效区域 | `GestureResponseDistanceType` | No | iOS | Yes |
464-| homeIndicatorHidden<sup>4.8.1</sup> | 主页指示器是否应在此屏幕上隐藏。默认为“false”。 | `boolean` | No | iOS | No |370+scrollEdgeEffects | No | iOS | No |
cpf-manager
cpf-managercpf-manager22 天前

【AI-Review】【严重】【基础代码问题】【代码逻辑错误】scrollEdgeEffects表格行格式损坏

● 问题: README.md第403行的 scrollEdgeEffects 表格行缺少行首 |、Description 列和 Type 列,当前内容为 scrollEdgeEffects | No | iOS | No |,仅剩 Name、Required、Platform、HarmonyOS Support 四列。从 diff 可知,该行由本 PR 从旧版 | scrollEdgeEffects<sup>4.9.0</sup> | 配置内容 ScrollView 的滚动边缘效果 | scrollEdgeEffects | No | iOS | No | 改写而来,改写时丢失了行首竖线、Description 和 Type 列以及版本标签。对比同 PR 的英文版 README-en.md,该行被整体删除,中文版却保留了残缺行。

● 影响: 严重。Markdown 表格行必须以 | 开头才能被渲染为表格行,该行不以 | 开头会被渲染器当作普通文本插入到 gestureResponseDistance 行与 onAppear 行之间,破坏 ScreenProps 属性列表表格的渲染结构,导致该表格后续所有行错位或整段表格断裂。同时中英文文档不一致:英文版无此属性行,中文版保留残缺行。

● 建议: 恢复为完整的表格行格式,补充 Description 和 Type 列,例如:| scrollEdgeEffects | 滚动边缘效果 | \scrollEdgeEffects` | No | iOS | No |`;或者与英文版保持一致直接删除该行(因 Known Issues 中已声明 scrollEdgeEffects 未实现)。

likedislike
465-| hideKeyboardOnSwipe<sup>4.8.1</sup> | 滑至上一屏幕时,键盘是否应隐藏。默认为“false”。 | `boolean` | No | iOS | No |
466-| scrollEdgeEffects<sup>4.9.0</sup> | 配置内容 ScrollView 的滚动边缘效果 | scrollEdgeEffects | No | iOS | No |
467| onAppear | 页面显示 | function | No | All | Yes |371| onAppear | 页面显示 | function | No | All | Yes |
468| onDisappear | 页面消失 | function | No | All | Yes |372| onDisappear | 页面消失 | function | No | All | Yes |
469| onSheetDetentChanged | 当前屏幕处于 `formSheet` 呈现状态且其 detent 发生变化时调用的回调 | function | No | All | No |373| onSheetDetentChanged | 当前屏幕处于 `formSheet` 呈现状态且其 detent 发生变化时调用的回调 | function | No | All | No |
@@ -471,7 +375,6 @@ ohpm install
471| onWillDisappear | 页面将消失 | function | No | All | Yes |375| onWillDisappear | 页面将消失 | function | No | All | Yes |
472| preventNativeDismiss | 指示是否阻止当前屏幕被 dismiss,默认为 `false` | `boolean` | No | iOS | Yes |376| preventNativeDismiss | 指示是否阻止当前屏幕被 dismiss,默认为 `false` | `boolean` | No | iOS | Yes |
473| replaceAnimation | 进出栈类型 | `ScreenReplaceTypes` | No | All | Yes |377| replaceAnimation | 进出栈类型 | `ScreenReplaceTypes` | No | All | Yes |
474-| screenId<sup>4.8.1</sup> | 在原生代码中标识屏幕的方式 | `string \| undefined` | No | iOS | Yes |
475| screenOrientation | 屏幕显示方向 | `ScreenOrientationTypes` | No | All | Yes |378| screenOrientation | 屏幕显示方向 | `ScreenOrientationTypes` | No | All | Yes |
476| sheetAllowedDetents | 描述 sheet 可以停留的高度,仅在 `presentation` 设置为 `formSheet` 时有效 | `number[] \| 'fitToContents' \| 'medium' \| 'large' \| 'all'` | No | All | No |379| sheetAllowedDetents | 描述 sheet 可以停留的高度,仅在 `presentation` 设置为 `formSheet` 时有效 | `number[] \| 'fitToContents' \| 'medium' \| 'large' \| 'all'` | No | All | No |
477| sheetElevation | 描述 sheet 的 elevation,影响 sheet 顶部边缘的阴影 | `number` | No | Android | No |380| sheetElevation | 描述 sheet 的 elevation,影响 sheet 顶部边缘的阴影 | `number` | No | Android | No |
@@ -480,7 +383,6 @@ ohpm install
480| sheetGrabberVisible | 指示 sheet 是否在顶部显示抓取器,默认为 `false` | `boolean` | No | iOS | No |383| sheetGrabberVisible | 指示 sheet 是否在顶部显示抓取器,默认为 `false` | `boolean` | No | iOS | No |
481| stackAnimation | 屏幕在堆栈顶部被推送或弹出时的出现/消失动画 | `StackAnimationTypes` | No | All | Yes |384| stackAnimation | 屏幕在堆栈顶部被推送或弹出时的出现/消失动画 | `StackAnimationTypes` | No | All | Yes |
482| stackPresentation | 屏幕应该如何呈现 | `StackPresentationTypes` | No | All | Yes |385| stackPresentation | 屏幕应该如何呈现 | `StackPresentationTypes` | No | All | Yes |
483-| statusBarAnimation<sup>4.8.1</sup> | 设置状态栏动画(类似于 `StatusBar` 组件) | `'none' \| 'fade' \| 'slide'` | No | All | No |
484| statusBarColor | 设置状态栏颜色(已废弃) | `ColorValue` | No | All | No |386| statusBarColor | 设置状态栏颜色(已废弃) | `ColorValue` | No | All | No |
485| statusBarHidden | 指示是否应该在此屏幕上隐藏状态栏,默认为 `false` | `boolean` | No | All | Yes |387| statusBarHidden | 指示是否应该在此屏幕上隐藏状态栏,默认为 `false` | `boolean` | No | All | Yes |
486| statusBarStyle | 设置状态栏样式(类似于 `StatusBar` 组件) | `'inverted' \| 'auto' \| 'light' \| 'dark'` | No | All | Yes |388| statusBarStyle | 设置状态栏样式(类似于 `StatusBar` 组件) | `'inverted' \| 'auto' \| 'light' \| 'dark'` | No | All | Yes |
@@ -489,69 +391,47 @@ ohpm install
489| onGestureCancel | 滑动返回被取消后调用的回调 | function | No | All | Yes |391| onGestureCancel | 滑动返回被取消后调用的回调 | function | No | All | Yes |
490| activityState | 在容器内多页面时,控制页面的是否显示 | `number` | No | All | Yes |392| activityState | 在容器内多页面时,控制页面的是否显示 | `number` | No | All | Yes |
491 393 
492-# ScreenStackHeaderSubviewProps 属性列表394+### ScreenStackHeaderSubviewProps 属性列表
493 395 
494| Name | Description | Type | Required | Platform | HarmonyOS Support |396| Name | Description | Type | Required | Platform | HarmonyOS Support |
495| --------------------- | ------------------------------------------------------------ | --------- | -------- | -------- | ----------------- |397| --------------------- | ------------------------------------------------------------ | --------- | -------- | -------- | ----------------- |
496| hidesSharedBackground | 指示此项目可能与栏中其他项目共享的背景是否应该隐藏。仅适用于 type="right" 和 type="left" 子视图。仅从 iOS 26.0 及更高版本可用 | `boolean` | No | All | No |398| hidesSharedBackground | 指示此项目可能与栏中其他项目共享的背景是否应该隐藏。仅适用于 type="right" 和 type="left" 子视图。仅从 iOS 26.0 及更高版本可用 | `boolean` | No | All | No |
497 399 
498-# ScreenStackHeaderConfigProps 属性列表400+### ScreenStackHeaderConfigProps 属性列表
499 401 
500| Name | Description | Type | Required | Platform | HarmonyOS Support |402| Name | Description | Type | Required | Platform | HarmonyOS Support |
501| ------------------------------------------------ | ------------------------------------------------------------ | ----------------------- | -------- | -------- | ----------------- |403| ------------------------------------------------ | ------------------------------------------------------------ | ----------------------- | -------- | -------- | ----------------- |
502-| backButtonInCustomView<sup>4.8.1</sup> | 是否在自定义左侧标题时显示返回按钮 | `boolean` | No | All | No |
503| backgroundColor | 控制导航标题的颜色 | `ColorValue` | No | All | Yes |404| backgroundColor | 控制导航标题的颜色 | `ColorValue` | No | All | Yes |
504| backTitle | 返回按钮文本内容 | `string` | No | iOS | Yes |405| backTitle | 返回按钮文本内容 | `string` | No | iOS | Yes |
505| backTitleFontSize | 返回按钮文本字号大小 | `number` | No | iOS | Yes |406| backTitleFontSize | 返回按钮文本字号大小 | `number` | No | iOS | Yes |
506-| backTitleVisible<sup>deprecated from 4.8.1</sup> | 返回按钮文本是否显示 | `boolean` | No | iOS | Yes |
507-| blurEffect<sup>4.8.1</sup> | 应用于标题的模糊效果,与 backgroundColor 的 alpha < 1 一起使用 | `BlurEffectTypes` | No | iOS | Yes |
508| color | 控制标题上渲染的项目的颜色,包括返回图标、返回文本和标题文本 | `ColorValue` | No | All | Yes |407| color | 控制标题上渲染的项目的颜色,包括返回图标、返回文本和标题文本 | `ColorValue` | No | All | Yes |
509| direction | 堆栈是否应该采用 rtl 或 ltr 形式 | `'rtl' \| 'ltr'` | No | All | No |408| direction | 堆栈是否应该采用 rtl 或 ltr 形式 | `'rtl' \| 'ltr'` | No | All | No |
510-| disableBackButtonMenu<sup>4.8.1</sup> | 控制是否在 iOS >= 14 返回按钮的长按上显示菜单 | `boolean` | No | iOS | No |
511-| backButtonDisplayMode<sup>4.8.1</sup> | 控制返回按钮的行为 | `BackButtonDisplayMode` | No | iOS | No |
512-| headerLeftBarButtonItems<sup>4.9.0</sup> | 标题左侧的 UIBarButtomItems 数组 | `HeaderBarButtonItem[]` | No | iOS | No |
513-| headerRightBarButtonItems<sup>4.9.0</sup> | 标题右侧的 UIBarButtomItems 数组 | `HeaderBarButtonItem[]` | No | iOS | No |
514| hidden | 隐藏标题栏 | `boolean` | No | All | Yes |409| hidden | 隐藏标题栏 | `boolean` | No | All | Yes |
515| hideBackButton | 隐藏标题栏返回按钮 | `boolean` | No | All | Yes |410| hideBackButton | 隐藏标题栏返回按钮 | `boolean` | No | All | Yes |
516| hideShadow | 控制是否隐藏标题栏的阴影或底部边框 | `boolean` | No | All | Yes |411| hideShadow | 控制是否隐藏标题栏的阴影或底部边框 | `boolean` | No | All | Yes |
517-| largeTitle<sup>4.8.1</sup> | 设置原生属性以首选大标题标题(如 iOS 设置中) | `boolean` | No | iOS | No |
518| largeTitleBackgroundColor | 控制当任何可滚动内容的边缘到达导航栏的匹配边缘时导航标题的颜色 | `ColorValue` | No | All | No |412| largeTitleBackgroundColor | 控制当任何可滚动内容的边缘到达导航栏的匹配边缘时导航标题的颜色 | `ColorValue` | No | All | No |
519-| largeTitleColor<sup>4.8.1</sup> | 自定义用于大标题的颜色,默认使用 titleColor 属性 | `ColorValue` | No | iOS | No |
520-| largeTitleFontFamily<sup>4.8.1</sup> | 自定义用于大标题的字体系列 | `string` | No | iOS | No |
521-| largeTitleFontSize<sup>4.8.1</sup> | 自定义用于大标题的字体大小 | `number` | No | iOS | No |
522-| largeTitleFontWeight<sup>4.8.1</sup> | 自定义用于大标题的字体权重 | `string` | No | iOS | No |
523-| largeTitleHideShadow<sup>4.8.1</sup> | 允许在任何可滚动内容的边缘到达导航栏的匹配边缘时禁用导航标题下的下拉阴影 | `boolean` | No | All | No |
524| title | 标题栏标题 | `string` | No | All | Yes |413| title | 标题栏标题 | `string` | No | All | Yes |
525| titleColor | 允许设置标题的文本颜色 | `ColorValue` | No | All | Yes |414| titleColor | 允许设置标题的文本颜色 | `ColorValue` | No | All | Yes |
526| titleFontFamily | 自定义用于标题的字体系列 | `string` | No | All | Yes |415| titleFontFamily | 自定义用于标题的字体系列 | `string` | No | All | Yes |
527| titleFontSize | 自定义用于标题的字体大小 | `number` | No | All | Yes |416| titleFontSize | 自定义用于标题的字体大小 | `number` | No | All | Yes |
528| titleFontWeight | 自定义用于标题的字体权重 | `string` | No | All | Yes |417| titleFontWeight | 自定义用于标题的字体权重 | `string` | No | All | Yes |
529-| topInsetEnabled<sup>4.8.1</sup> | 已废弃,设置此属性无效果 | `boolean` | No | All | No |
530| translucent | 标题栏是否透明化 | `boolean` | No | All | Yes |418| translucent | 标题栏是否透明化 | `boolean` | No | All | Yes |
531 419 
532-# SearchBarProps 属性列表420+### SearchBarProps 属性列表
533 421 
534| Name | Description | Type | Required | Platform | HarmonyOS Support |422| Name | Description | Type | Required | Platform | HarmonyOS Support |
535| ----------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -------- | -------- | ----------------- |423| ----------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -------- | -------- | ----------------- |
536-| autoCapitalize<sup>4.8.1</sup> | 自动大写行为,默认为 `systemDefault` | `'systemDefault' \| 'none' \| 'words' \| 'sentences' \| 'characters'` | No | All | No |
537-| autoFocus<sup>4.8.1</sup> | 挂载时自动聚焦搜索栏 | `boolean` | No | Android | Yes |
538| barTintColor | 搜索字段背景颜色 | `ColorValue` | No | All | Yes |424| barTintColor | 搜索字段背景颜色 | `ColorValue` | No | All | Yes |
539| tintColor | 光标插入符号和取消按钮文本的颜色 | `ColorValue` | No | iOS | Yes |425| tintColor | 光标插入符号和取消按钮文本的颜色 | `ColorValue` | No | iOS | Yes |
540| cancelButtonText | 用于替代默认 `Cancel` 按钮文本的文本 | `string` | No | iOS | Yes |426| cancelButtonText | 用于替代默认 `Cancel` 按钮文本的文本 | `string` | No | iOS | Yes |
541-| disableBackButtonOverride<sup>4.8.1</sup> | 指定返回按钮是否应该关闭搜索栏的文本输入 | `boolean` | No | Android | No |
542-| hideNavigationBar<sup>4.8.1</sup> | 指示是否应该隐藏导航栏 | `boolean` | No | iOS | Yes |
543-| hideWhenScrolling<sup>4.8.1</sup> | 指示滚动时是否应该隐藏搜索栏 | `boolean` | No | iOS | No |
544| inputType | 设置输入类型,默认为 `text` | `'text' \| 'phone' \| 'number' \| 'email'` | No | Android | Yes |427| inputType | 设置输入类型,默认为 `text` | `'text' \| 'phone' \| 'number' \| 'email'` | No | Android | Yes |
545-| obscureBackground<sup>4.8.1</sup> | 指示是否应该模糊底层内容 | `boolean` | No | iOS | No |
546| placeholder | 当搜索字段为空时显示的文本 | `string` | No | All | Yes |428| placeholder | 当搜索字段为空时显示的文本 | `string` | No | All | Yes |
547-| placement<sup>4.8.1</sup> | 搜索栏的位置 | `SearchBarPlacement` | No | iOS | No |
548-| allowToolbarIntegration<sup>4.9.0</sup> | 指示系统是否可以在 iPhone 上将搜索栏放置在其他工具栏项目之间 | `boolean` | No | iOS | No |
549| textColor | 搜索字段文本颜色 | `ColorValue` | No | All | Yes |429| textColor | 搜索字段文本颜色 | `ColorValue` | No | All | Yes |
550| hintTextColor | 搜索提示文本颜色 | `ColorValue` | No | Android | Yes |430| hintTextColor | 搜索提示文本颜色 | `ColorValue` | No | Android | Yes |
551| headerIconColor | 标题中显示的搜索和关闭图标颜色 | `ColorValue` | No | Android | Yes |431| headerIconColor | 标题中显示的搜索和关闭图标颜色 | `ColorValue` | No | Android | Yes |
552| shouldShowHintSearchIcon | 当搜索栏聚焦时显示搜索提示图标 | `boolean` | No | Android | No |432| shouldShowHintSearchIcon | 当搜索栏聚焦时显示搜索提示图标 | `boolean` | No | Android | No |
553 433 
554-# StackAnimationTypes 类型值列表434+### StackAnimationTypes 类型值列表
555 435 
556| Name | Description | Type | Required | Platform | HarmonyOS Support |436| Name | Description | Type | Required | Platform | HarmonyOS Support |
557| ----------------- | ---------------------- | --------------------- | -------- | -------- | ----------------- |437| ----------------- | ---------------------- | --------------------- | -------- | -------- | ----------------- |
@@ -564,11 +444,8 @@ ohpm install
564| slide_from_bottom | 从底部滑入动画 | `'slide_from_bottom'` | No | All | Yes |444| slide_from_bottom | 从底部滑入动画 | `'slide_from_bottom'` | No | All | Yes |
565| slide_from_right | 从右侧滑入动画 | `'slide_from_right'` | No | All | Yes |445| slide_from_right | 从右侧滑入动画 | `'slide_from_right'` | No | All | Yes |
566| slide_from_left | 从左侧滑入动画 | `'slide_from_left'` | No | All | Yes |446| slide_from_left | 从左侧滑入动画 | `'slide_from_left'` | No | All | Yes |
567-| ios<sup>deprecated from 4.8.1</sup> | iOS 风格从右侧滑入动画 | `'ios'` | No | All | Yes |
568-| ios_from_right<sup>4.8.1</sup> | iOS 风格从右侧滑入动画 | `'ios_from_right'` | No | All | Yes |
569-| ios_from_left<sup>4.8.1</sup> | iOS 风格从左侧滑入动画 | `'ios_from_left'` | No | All | Yes |
570 447 
571-# StackPresentationTypes 类型值列表448+### StackPresentationTypes 类型值列表
572 449 
573| Name | Description | Type | Required | Platform | HarmonyOS Support |450| Name | Description | Type | Required | Platform | HarmonyOS Support |
574| ------------------------- | ------------------ | ----------------------------- | -------- | -------- | ----------------- |451| ------------------------- | ------------------ | ----------------------------- | -------- | -------- | ----------------- |
@@ -579,16 +456,15 @@ ohpm install
579| containedTransparentModal | 包含式透明模态呈现 | `'containedTransparentModal'` | No | All | Yes |456| containedTransparentModal | 包含式透明模态呈现 | `'containedTransparentModal'` | No | All | Yes |
580| fullScreenModal | 全屏模态呈现 | `'fullScreenModal'` | No | All | Yes |457| fullScreenModal | 全屏模态呈现 | `'fullScreenModal'` | No | All | Yes |
581| formSheet | 表单表单呈现 | `'formSheet'` | No | All | No |458| formSheet | 表单表单呈现 | `'formSheet'` | No | All | No |
582-| pageSheet<sup>4.9.0</sup> | 页面表单呈现 | `'pageSheet'` | No | All | Yes |
583 459 
584-# ScreenReplaceTypes 类型值列表460+### ScreenReplaceTypes 类型值列表
585 461 
586| Name | Description | Type | Required | Platform | HarmonyOS Support |462| Name | Description | Type | Required | Platform | HarmonyOS Support |
587| ---- | ------------ | -------- | -------- | -------- | ----------------- |463| ---- | ------------ | -------- | -------- | -------- | ----------------- |
588| push | 推送新屏幕 | `'push'` | No | All | Yes |464| push | 推送新屏幕 | `'push'` | No | All | Yes |
589| pop | 弹出当前屏幕 | `'pop'` | No | All | Yes |465| pop | 弹出当前屏幕 | `'pop'` | No | All | Yes |
590 466 
591-# ScreenOrientationTypes 类型值列表467+### ScreenOrientationTypes 类型值列表
592 468 
593| Name | Description | Type | Required | Platform | HarmonyOS Support |469| Name | Description | Type | Required | Platform | HarmonyOS Support |
594| --------------- | ------------ | ------------------- | -------- | -------- | ----------------- |470| --------------- | ------------ | ------------------- | -------- | -------- | ----------------- |
@@ -601,7 +477,7 @@ ohpm install
601| landscape_left | 向左横屏方向 | `'landscape_left'` | No | All | Yes |477| landscape_left | 向左横屏方向 | `'landscape_left'` | No | All | Yes |
602| landscape_right | 向右横屏方向 | `'landscape_right'` | No | All | Yes |478| landscape_right | 向右横屏方向 | `'landscape_right'` | No | All | Yes |
603 479 
604-# BlurEffectTypes 类型值列表480+### BlurEffectTypes 类型值列表
605 481 
606| Name | Description | Type | Required | Platform | HarmonyOS Support |482| Name | Description | Type | Required | Platform | HarmonyOS Support |
607| ---------------------------- | ------------------------------ | -------------------------------- | -------- | -------- | ----------------- |483| ---------------------------- | ------------------------------ | -------------------------------- | -------- | -------- | ----------------- |
@@ -627,7 +503,7 @@ ohpm install
627| systemThickMaterialDark | 系统厚材质(深色)模糊效果 | `'systemThickMaterialDark'` | No | All | No |503| systemThickMaterialDark | 系统厚材质(深色)模糊效果 | `'systemThickMaterialDark'` | No | All | No |
628| systemChromeMaterialDark | 系统Chrome材质(深色)模糊效果 | `'systemChromeMaterialDark'` | No | All | No |504| systemChromeMaterialDark | 系统Chrome材质(深色)模糊效果 | `'systemChromeMaterialDark'` | No | All | No |
629 505 
630-# GestureResponseDistanceType 属性列表506+### GestureResponseDistanceType 属性列表
631 507 
632| Name | Description | Type | Required | Platform | HarmonyOS Support |508| Name | Description | Type | Required | Platform | HarmonyOS Support |
633| ------ | ------------------ | -------- | -------- | -------- | ----------------- |509| ------ | ------------------ | -------- | -------- | -------- | ----------------- |
@@ -636,125 +512,6 @@ ohpm install
636| top | 手势响应的顶部距离 | `number` | No | All | Yes |512| top | 手势响应的顶部距离 | `number` | No | All | Yes |
637| bottom | 手势响应的底部距离 | `number` | No | All | Yes |513| bottom | 手势响应的底部距离 | `number` | No | All | Yes |
638 514 
639-# SearchBarPlacement 类型值列表<sup>4.9.0</sup>
640- 
641-| Name | Description | Type | Required | Platform | HarmonyOS Support |
642-| ------------------ | -------------------------------------- | ---------------------- | -------- | -------- | ----------------- |
643-| automatic | 自动选择搜索栏位置 | `'automatic'` | No | All | No |
644-| inline | 内联搜索栏位置(从 iOS 26 开始已弃用) | `'inline'` | No | All | No |
645-| stacked | 堆叠搜索栏位置 | `'stacked'` | No | All | No |
646-| integrated | 集成搜索栏位置 | `'integrated'` | No | All | No |
647-| integratedButton | 集成按钮搜索栏位置 | `'integratedButton'` | No | All | No |
648-| integratedCentered | 集成居中搜索栏位置 | `'integratedCentered'` | No | All | No |
649- 
650-# SharedHeaderBarButtonItem 属性列表<sup>4.9.0</sup>
651- 
652-| Name | Description | Type | Required | Platform | HarmonyOS Support |
653-| --------------------- | ------------------------------------------------------ | ------------------------------------------------------------ | -------- | -------- | ----------------- |
654-| index | 项目在导航项目数组中的位置 | `number` | No | All | No |
655-| label | 项目的标签 | `string` | No | All | No |
656-| labelStyle | 项目标签的样式 | `{ fontFamily?: string; fontSize?: number; fontWeight?: string; color?: ColorValue; }` | No | All | No |
657-| icon | 项目的图标 | `PlatformIconIOS` | No | All | No |
658-| variant | 项目的变体 | `'plain' \| 'done' \| 'prominent'` | No | All | No |
659-| tintColor | 应用于项目的 tint 颜色 | `ColorValue` | No | All | No |
660-| disabled | 指示项目是否处于禁用状态的布尔值 | `boolean` | No | All | No |
661-| width | 项目的宽度 | `number` | No | All | No |
662-| hidesSharedBackground | 指示此项目可能与栏中其他项目共享的背景是否应该隐藏 | `boolean` | No | All | No |
663-| sharesBackground | 指示此项目是否可以与导航栏或工具栏中的其他项目共享背景 | `boolean` | No | All | No |
664-| identifier | 用于在导航栏或工具栏的过渡中匹配项目的标识符 | `string` | No | All | No |
665-| badge | 要在项目上渲染的徽章 | `{ value: string; style?: { color?: ColorValue; backgroundColor?: ColorValue; fontFamily?: string; fontSize?: number; fontWeight?: string; }; }` | No | All | No |
666-| accessibilityLabel | 无障碍标签 | `string` | No | All | No |
667-| accessibilityHint | 无障碍提示 | `string` | No | All | No |
668- 
669-# HeaderBarButtonItemWithAction 属性列表<sup>4.9.0</sup>
670- 
671-| Name | Description | Type | Required | Platform | HarmonyOS Support |
672-| ------------------------------- | ---------------------------------- | --------- | -------- | -------- | ----------------- |
673-| onPress | 项目被按下时的回调函数 | function | Yes | All | No |
674-| selected | 指示项目是否处于选中状态的布尔值 | `boolean` | No | All | No |
675-| changesSelectionAsPrimaryAction | 指示项目是否表示操作或选择的布尔值 | `boolean` | No | All | No |
676- 
677-# HeaderBarButtonItemMenuAction 属性列表<sup>4.9.0</sup>
678- 
679-| Name | Description | Type | Required | Platform | HarmonyOS Support |
680-| -------------------- | ------------------------------- | ------------------------------------------------------------ | -------- | -------- | ----------------- |
681-| type | 菜单操作的类型,固定为 'action' | `'action'` | Yes | All | No |
682-| label | 菜单操作的标签 | `string` | No | All | No |
683-| onPress | 菜单操作被按下时的回调函数 | function | Yes | All | No |
684-| icon | 菜单操作的图标 | `PlatformIconIOSSfSymbol` | No | All | No |
685-| state | 菜单项的状态 | `'on' \| 'off' \| 'mixed'` | No | All | No |
686-| attributes | 菜单项的属性 | `'destructive' \| 'disabled' \| 'hidden' \| 'keepsMenuPresented'` | No | All | No |
687-| discoverabilityLabel | 菜单项的可发现性标签 | `string` | No | All | No |
688- 
689-# HeaderBarButtonItemSubmenu 属性列表<sup>4.9.0</sup>
690- 
691-| Name | Description | Type | Required | Platform | HarmonyOS Support |
692-| ----- | ------------------------------ | ---------------------------------------------- | -------- | -------- | ----------------- |
693-| type | 子菜单的类型,固定为 'submenu' | `'submenu'` | Yes | All | No |
694-| label | 子菜单的标签 | `string` | No | All | No |
695-| icon | 子菜单的图标 | `PlatformIconIOSSfSymbol` | No | All | No |
696-| items | 子菜单的项目列表 | `HeaderBarButtonItemWithMenu['menu']['items']` | Yes | All | No |
697- 
698-# HeaderBarButtonItemWithMenu 属性列表<sup>4.9.0</sup>
699- 
700-| Name | Description | Type | Required | Platform | HarmonyOS Support |
701-| ---- | -------------- | ------------------------------------------------------------ | -------- | -------- | ----------------- |
702-| menu | 按钮的菜单配置 | `{ label?: string; items: (HeaderBarButtonItemMenuAction \| HeaderBarButtonItemSubmenu)[]; }` | Yes | All | No |
703- 
704-# HeaderBarButtonItemSpacing 属性列表<sup>4.9.0</sup>
705- 
706-| Name | Description | Type | Required | Platform | HarmonyOS Support |
707-| ------- | -------------- | -------- | -------- | -------- | ----------------- |
708-| spacing | 按钮之间的间距 | `number` | Yes | All | No |
709- 
710-# HeaderBarButtonItem 类型值列表<sup>4.9.0</sup>
711- 
712-| Name | Description | Type | Required | Platform | HarmonyOS Support |
713-| ----------------------------- | ------------------------ | ------------------------------- | -------- | -------- | ----------------- |
714-| HeaderBarButtonItemWithAction | 带有点击动作的导航栏按钮 | `HeaderBarButtonItemWithAction` | No | All | No |
715-| HeaderBarButtonItemWithMenu | 带有菜单的导航栏按钮 | `HeaderBarButtonItemWithMenu` | No | All | No |
716-| HeaderBarButtonItemSpacing | 导航栏按钮之间的间距 | `HeaderBarButtonItemSpacing` | No | All | No |
717- 
718-# BottomTabs类型值列表<sup>4.9.0</sup>
719- 
720-| Name | Description | Type | Required | Platform | HarmonyOS Support |
721-| ---------------------------------- | -------------------------- | -------------------------------------------------- | -------- | -------- | ----------------- |
722-| `tabBarBackgroundColor` | 标签栏背景颜色 | `ColorValue` | No | Android | No |
723-| `tabBarItemTitleFontFamily` | 标签项标题字体 | `string` | No | Android | No |
724-| `tabBarItemTitleFontSize` | 标签项标题字体大小 | `number` | No | Android | No |
725-| `tabBarItemTitleFontSizeActive` | 选中状态标签项标题字体大小 | `number` | No | Android | No |
726-| `tabBarItemTitleFontWeight` | 标签项标题字体粗细 | `string` | No | Android | No |
727-| `tabBarItemTitleFontStyle` | 标签项标题字体样式 | `string` | No | Android | No |
728-| `tabBarItemTitleFontColor` | 标签项标题文字颜色 | `ColorValue` | No | Android | No |
729-| `tabBarItemTitleFontColorActive` | 选中状态标签项标题文字颜色 | `ColorValue` | No | Android | No |
730-| `tabBarItemIconColor` | 标签项图标颜色 | `ColorValue` | No | Android | No |
731-| `tabBarItemIconColorActive` | 选中状态标签项图标颜色 | `ColorValue` | No | Android | No |
732-| `tabBarItemActiveIndicatorColor` | 标签项活动指示器颜色 | `ColorValue` | No | Android | No |
733-| `tabBarItemActiveIndicatorEnabled` | 是否启用标签项活动指示器 | `boolean` | No | Android | No |
734-| `tabBarItemRippleColor` | 标签项涟漪效果颜色 | `ColorValue` | No | Android | No |
735-| `tabBarItemLabelVisibilityMode` | 标签项标签可见性模式 | `'auto' \| 'selected' \| 'labeled' \| 'unlabeled'` | No | Android | No |
736- 
737-# BottomTabsScreen类型值列表<sup>4.9.0</sup>
738- 
739-| Name | Description | Type | Required | Platform | HarmonyOS Support |
740-| -------------------------------- | ------------------------------------------------ | ------------------------------------------- | -------- | ------------ | ----------------- |
741-| `tabKey` | 标签页唯一标识符(必填) | `string` | **Yes** | Android, iOS | No |
742-| `title` | 标签页标题 | `string` | No | Android, iOS | No |
743-| `isFocused` | 聚焦的标签页 | `boolean` | No | Android, iOS | No |
744-| `badgeValue` | 标签页徽章文本 | `string` | No | Android, iOS | No |
745-| `orientation` | 标签页的屏幕方向 | `BottomTabsScreenOrientation` | No | iOS | No |
746-| `iconImageSource` | 标签正常的图标资源 | `ImageSourcePropType` | No | Android, iOS | No |
747-| `selectedIconImageSource` | 标签选中的图标资源 | `ImageSourcePropType` | No | Android, iOS | No |
748-| `tabBarItemBadgeTextColor` | 标签项徽章文字颜色 | `ColorValue` | No | Android | No |
749-| `tabBarItemBadgeBackgroundColor` | 标签项徽章背景颜色 | `ColorValue` | No | Android, iOS | No |
750-| `systemItem` | 标签项使用系统图标类型 | `BottomTabsSystemItem` | No | iOS | No |
751-| `tabBarBlurEffect` | 标签栏模糊效果 | `BottomTabsScreenBlurEffect` | No | iOS | No |
752-| `standardAppearance` | 单标签自定义属性,对标ios | `BottomTabsScreenAppearance` | No | iOS | No |
753-| `onWillAppear` | 页面即将进入前台、即将可见时触发 | `BottomTabsScreenEventHandler<EmptyObject>` | No | Android, iOS | No |
754-| `onDidAppear` | 页面已经完全显示并进入前台后触发 | `BottomTabsScreenEventHandler<EmptyObject>` | No | Android, iOS | No |
755-| `onWillDisappear` | 页面即将离开前台、即将不可见时触发(但尚未消失) | `BottomTabsScreenEventHandler<EmptyObject>` | No | Android, iOS | No |
756-| `onDidDisappear` | 页面已经完全不可见(退出前台)后触发 | `BottomTabsScreenEventHandler<EmptyObject>` | No | Android, iOS | No |
757- 
758----------------------------------------------------------515----------------------------------------------------------
759 516 
760以下为react-native-screens社区版的基本属性,属性已验证,更多属性详情请查看 [react-native-screens 的文档介绍](https://reactnavigation.org/docs/screen),后续该使用场景不在维护。517以下为react-native-screens社区版的基本属性,属性已验证,更多属性详情请查看 [react-native-screens 的文档介绍](https://reactnavigation.org/docs/screen),后续该使用场景不在维护。
@@ -797,7 +554,6 @@ ohpm install
797| backTitle | 返回按钮文本内容 | property | No | iOS Android | Yes |554| backTitle | 返回按钮文本内容 | property | No | iOS Android | Yes |
798| backTitleFontSize | 返回按钮文本字号大小 | property | No | iOS Android | Yes |555| backTitleFontSize | 返回按钮文本字号大小 | property | No | iOS Android | Yes |
799| backTitleVisible | 返回按钮文本是否显示 | property | No | iOS Android | Yes |556| backTitleVisible | 返回按钮文本是否显示 | property | No | iOS Android | Yes |
800-| backTitleVisible<sup>4.8.1</sup> | 返回按钮文本是否显示 | property | No | iOS Android | No |
801| title | 标题栏标题 | property | No | iOS Android | Yes |557| title | 标题栏标题 | property | No | iOS Android | Yes |
802| titleFontSize | 标题字号大小 | property | No | iOS Android | Yes |558| titleFontSize | 标题字号大小 | property | No | iOS Android | Yes |
803| titleFontWeight | 标题字号比重 | property | No | iOS Android | Yes |559| titleFontWeight | 标题字号比重 | property | No | iOS Android | Yes |
@@ -817,36 +573,12 @@ ohpm install
817| onOpen | 展示搜索 | function | No | iOS Android | Yes |573| onOpen | 展示搜索 | function | No | iOS Android | Yes |
818| headerIconColor | 图标颜色 | property | No | iOS Android | Yes |574| headerIconColor | 图标颜色 | property | No | iOS Android | Yes |
819| shouldShowHintSearchIcon | 是否隐藏搜索图标 | property | No | iOS Android | Yes |575| shouldShowHintSearchIcon | 是否隐藏搜索图标 | property | No | iOS Android | Yes |
820-| blurEffect<sup>4.8.1</sup> | 应用于页眉的模糊效果 | property | No | iOS | Yes |
821-| tintColor<sup>4.8.1</sup> | 光标插入符和取消按钮文本的颜色 | property | No | iOS | Yes |
822-| color<sup>4.8.1</sup> | 控制标题上呈现的项目的颜色。这包括后退图标、后退文本(仅限iOS)和标题文本。如果希望标题具有不同的颜色,请使用titleColor属性。 | property | No | iOS Android | Yes |
823-| hideWhenScrolling<sup>4.8.1</sup> | 布尔值,指示滚动时是否隐藏搜索栏。默认为“true”。 | property | No | iOS | No |
824-| largeTitle<sup>4.8.1</sup> | 当设置为“true”时,它会使用大标题效果显示标题。 | property | No | iOS | No |
825-| largeTitleFontFamily<sup>4.8.1</sup> | 自定义用于大标题的字体系列。 | property | No | iOS | No |
826-| largeTitleFontSize<sup>4.8.1</sup> | 自定义用于大标题的字体大小。 | property | No | iOS | No |
827-| largeTitleFontWeight<sup>4.8.1</sup> | 自定义用于大标题的字体的粗细。 | property | No | iOS | No |
828-| largeTitleHideShadow<sup>4.8.1</sup> | 布尔值,允许在任何可滚动内容的边缘到达导航栏的匹配边缘时禁用导航标题下的阴影。 | property | No | iOS | No |
829-| largeTitleColor<sup>4.8.1</sup> | 自定义用于大标题的颜色。默认情况下使用`titleColor`属性。 | property | No | iOS | No |
830-| autoCapitalize<sup>4.8.1</sup> | 控制用户输入文本时是否自动大写。 | property | No | iOS | No |
831-| placement<sup>4.8.1</sup> | 将搜索栏放置在导航栏中 | property | No | iOS | No |
832-| obscureBackground<sup>4.8.1</sup> | 布尔值,指示是否使用半透明覆盖来遮挡底层内容。默认为“true”。 | property | No | iOS | No |
833-| hideNavigationBar<sup>4.8.1</sup> | 布尔值,指示在搜索过程中是否隐藏导航栏。 | property | No | iOS | No |
834-| disableBackButtonOverride<sup>4.8.1</sup> | 默认行为是在搜索栏打开时 阻止屏幕返回(`disableBackButtonOverride:false `)。如果你不想发生这种情况,请将“disableBackButtonOverride”设置为“true”。 | property | No | Android | No |
835-| customAnimationOnSwipe<sup>4.8.1</sup> | 布尔值,表示滑动解除应触发“stackAnimation”提供的动画。默认为“false”。 | property | No | iOS | No |
836-| fullScreenSwipeShadowEnabled<sup>4.8.1</sup> | 布尔值,指示全屏解除手势在过渡期间是否在视图下有阴影。手势使用自定义过渡,因此默认情况下没有阴影。启用后,在转换过程中会添加一个自定义阴影视图,试图模仿默认iOS阴影。默认为“true”。 | property | No | iOS | No |
837-| homeIndicatorHidden<sup>4.8.1</sup> | 主页指示器是否应在此屏幕上隐藏。默认为“false”。 | property | No | iOS | No |
838-| statusBarAnimation<sup>4.8.1</sup> | 设置状态栏动画(类似于“StatusBar”组件)。需要在Info.plist文件中启用(或删除)“基于视图控制器的状态栏外观”。在Android上,此道具考虑了更改状态栏颜色的过渡.如果“无”提供,则不会有动画。 | property | No | iOS | No |
839| transitionDuration | 更改iOS上“slide_from_bottom”、“fade_from_bottom”和“fade”和“simple_push”转换的持续时间(以毫秒为单位)。默认为“500”。“默认”和“翻转”过渡的持续时间是不可定制的。 | property | No | iOS | No |576| transitionDuration | 更改iOS上“slide_from_bottom”、“fade_from_bottom”和“fade”和“simple_push”转换的持续时间(以毫秒为单位)。默认为“500”。“默认”和“翻转”过渡的持续时间是不可定制的。 | property | No | iOS | No |
840-| hideKeyboardOnSwipe<sup>4.8.1</sup> | 滑至上一屏幕时,键盘是否应隐藏。默认为“false”。 | property | No | iOS | No |
841-| disableBackButtonMenu<sup>4.8.1</sup> | 布尔值,指示是否在iOS>=14的longPress后退按钮上显示菜单。 | property | No | iOS | No |
842-| backButtonDisplayMode<sup>4.8.1</sup> | 枚举值表示**默认**后退按钮的显示模式。它适用于iOS>=14,仅在未设置“backTitleFontFamily”、“backTitle FontSize”、“disableBackButtonMenu”或“backTitle”时使用。否则,当按钮被定制时,在幕后我们使用iOS原生的`backButtonItem`,它覆盖了`backButtonDisplayMode`。 | property | No | iOS | No |
843-| backButtonInCustomView<sup>4.8.1</sup> | 是否显示带有自定义页眉左侧的后退按钮。 | property | No | iOS | No |
844| direction | 控制堆栈应采用“rtl”还是“ltr”形式。 | property | No | iOS Android | No |577| direction | 控制堆栈应采用“rtl”还是“ltr”形式。 | property | No | iOS Android | No |
845-| topInsetEnabled<sup>4.8.1</sup> | 一个标志,可以让你选择不插入标题。如果您使用不透明的状态栏,您可能希望将其设置为“false”。默认为“true”。 | property | No | Android | No |
846 578 
847</details>579</details>
848 580 
849-## 5. 遗留问题581+## 遗留问题
cpf-manager
cpf-managercpf-manager22 天前

【AI-Review】【一般】【基础代码问题】【可读性问题】中英文 README 遗留问题列表不一致

● 问题:README.md 的"遗留问题"章节保留了 issue#29(GestureDetectorProvider 按原库的引用方式在77环境上引用不到)和 issue#30(在Screen和其子组件中通过Option有设置不同属性时,在77环境ets侧接收到的属性有丢失)两条 0.77 环境相关的已知问题(第620、622行),但 README-en.md 的"Known Issues"章节在本次PR中已将这两条删除。本次PR将文档范围缩减为仅覆盖 0.72 版本(版本映射表、安装命令、兼容性验证均已移除 0.77/0.82 内容),README-en.md 同步移除了这两条 0.77 专属问题,但 README.md 遗漏未删。

● 影响:一般。中英文文档的已知问题列表不一致,使用中文文档的用户会看到两条与 0.77 环境相关的已知问题,而使用英文文档的用户看不到,造成信息不对称;且这两条问题指向的是本文档已不再覆盖的 0.77 环境,对仅关注 0.72 的用户造成误导。

● 建议:与 README-en.md 保持一致,删除 README.md 第620、622行(issue#29 与 issue#30)这两条 0.77 环境相关的遗留问题;或者在 README-en.md 中补回这两条以保持中英文一致。

likedislike
850 582 
851- [ ] formSheet页面暂使用普通页面,该页面使用的Context.openBindSheet系统方法存在绑定的js页面绑定的位置错乱,造成按钮事件会无法响应。需要系统修正后补充。 [issue#4](https://github.com/react-native-oh-library/react-native-harmony-screens/issues/4)583- [ ] formSheet页面暂使用普通页面,该页面使用的Context.openBindSheet系统方法存在绑定的js页面绑定的位置错乱,造成按钮事件会无法响应。需要系统修正后补充。 [issue#4](https://github.com/react-native-oh-library/react-native-harmony-screens/issues/4)
852 584 
@@ -866,8 +598,44 @@ ohpm install
866- [ ] onSheetDetentChanged 当当前屏幕处于“formSheet”演示状态并且其定位符已更改时调用的回调。formsheet功能的回调。 未实现598- [ ] onSheetDetentChanged 当当前屏幕处于“formSheet”演示状态并且其定位符已更改时调用的回调。formsheet功能的回调。 未实现
867- [ ] scrollEdgeEffects,BottomTabs当前架构不支持。 未实现599- [ ] scrollEdgeEffects,BottomTabs当前架构不支持。 未实现
868 600 
869-## 6. 其他601+## 其他
870 602 
871-## 7. 开源协议603+## 目录结构
604+ 
605+````
606+/rntpc_react-native-screens # 项目根目录
607+├── react-native-harmony-screens # 鸿蒙适配 npm 包
608+│ ├── harmony # 鸿蒙原生代码
609+│ │ └── screens.har # har 包
610+│ ├── src # RN 侧 TS 源码
611+│ │ ├── components # RN 组件(Screen、ScreenContainer、ScreenStack 等)
612+│ │ ├── native-stack/views # native-stack 相关视图
613+│ │ ├── specs # Codegen 生成的原生组件规格
614+│ │ ├── core.ts # 核心逻辑
615+│ │ ├── index.ts # 入口文件
616+│ │ └── utils.ts # 工具函数
617+│ ├── scripts # 构建/发布脚本
618+│ ├── package.json
619+│ └── tsconfig.json
620+├── tester # 测试工程
621+│ ├── harmony # 鸿蒙测试工程
622+│ │ ├── entry # 应用入口模块
623+│ │ └── screens # 鸿蒙适配源码(ArkTS + CPP)
624+│ │ └── src/main
625+│ │ ├── cpp # C++ 侧(Package、JSIBinder、 TurboModule)
626+│ │ └── ets # ArkTS 侧(组件、动画、Package)
627+│ ├── apps/src # 测试用例
628+│ ├── android # Android 测试工程
629+│ └── package.json
630+├── README.md # 中文安装使用方法
631+├── README_en.md # 英文安装使用方法
632+└── LICENSE # 开源协议
633+````
634+ 
635+## 贡献代码
636+ 
637+使用过程中发现任何问题都可以提交 [Issue](https://gitcode.com/CPF-RN/rntpc_react-native-screens/issues),当然,也非常欢迎提交 [PR](https://gitcode.com/CPF-RN/rntpc_react-native-screens/pulls) 。
638+ 
639+## 开源协议
872 640 
873本项目基于 [The MIT License (MIT)](https://github.com/software-mansion/react-native-screens/blob/main/LICENSE) ,请自由地享受和参与开源。641本项目基于 [The MIT License (MIT)](https://github.com/software-mansion/react-native-screens/blob/main/LICENSE) ,请自由地享受和参与开源。
RREADME-en.mdREADME_en.md+97-336
@@ -1,4 +1,4 @@
1-> Template version: v0.4.01+> Document template: v0.4.2
2 2 
3<p align="center">3<p align="center">
4 <h1 align="center"> <code>@react-native-ohos/react-native-screens</code> </h1>4 <h1 align="center"> <code>@react-native-ohos/react-native-screens</code> </h1>
@@ -6,129 +6,46 @@
6 6 
7This project is based on [react-native-screens](https://github.com/software-mansion/react-native-screens).7This project is based on [react-native-screens](https://github.com/software-mansion/react-native-screens).
8 8 
9-!!! Going forward, the new HarmonyOS version @react-native-ohos/react-native-screens will be the primary release, and the community edition will no longer be supported.9+The repository of this third-party library has been migrated to Gitcode, and it can be downloaded directly from npm. The new package name is: `@react-native-ohos/react-native-screens`. The version mapping is as follows:
10 10 
11-Please refer to the Releases page of the third-party library for the corresponding version information11+| Name | Version (npm address) | Release Information | Supported RN Version | Autolink | Compile API Version | Community Baseline Version | Source Address |
12- 
13-| Name | Version | Release Information | Supported RN Version | Supported Autolink | Compile API Version | Community Baseline Version | npm Address |
14| --------------| ---------- | ------------------------------------------------------------ | ---------- | ------------- |------------------------ | ------------- | ------------- |12| --------------| ---------- | ------------------------------------------------------------ | ---------- | ------------- |------------------------ | ------------- | ------------- |
15-| @react-native-ohos/react-native-screens | ~ 4.9.0 (In development) | [@react-native-ohos/react-native-screens Releases](https://gitcode.com/openharmony-sig/rntpc_react-native-screens/releases) | 0.82.* | No | API12+ | 4.17.1 | [Npm Address](https://www.npmjs.com/package/@react-native-ohos/react-native-screens) |13+| @react-native-ohos/react-native-screens | [~ 3.34.0 (In development)](https://www.npmjs.com/package/@react-native-ohos/react-native-screens) | [Gitcode Releases](https://gitcode.com/CPF-RN/rntpc_react-native-screens/releases) | 0.72.* | Yes | API12+ | 3.34.0 | [br_rnoh0.72](https://gitcode.com/CPF-RN/rntpc_react-native-screens/tree/br_rnoh0.72) |
16-| @react-native-ohos/react-native-screens | ~ 4.8.1 (In development) | [@react-native-ohos/react-native-screens Releases](https://gitcode.com/openharmony-sig/rntpc_react-native-screens/releases) | 0.77.* | No | API12+ | 4.8.0 | [Npm Address](https://www.npmjs.com/package/@react-native-ohos/react-native-screens) |14+| @react-native-oh-tpl/react-native-screens | [<= 3.34.0-0.0.2@deprecated](https://www.npmjs.com/package/@react-native-oh-tpl/react-native-screens) | [Github Releases(deprecated)](https://github.com/react-native-oh-library/react-native-harmony-screens/releases) | 0.72.* | No | API12+ | 3.34.0 | [sig](https://github.com/react-native-oh-library/react-native-harmony-screens) |
17-| @react-native-ohos/react-native-screens | ~ 3.34.1 (In development) | [@react-native-ohos/react-native-screens Releases](https://gitcode.com/openharmony-sig/rntpc_react-native-screens/releases) | 0.72.* | Yes | API12+ | 3.34.1 | [Npm Address](https://www.npmjs.com/package/@react-native-ohos/react-native-screens) |
18-| @react-native-oh-tpl/react-native-screens | <= 3.34.0-0.0.2@deprecated | [@react-native-oh-tpl/react-native-screens Releases(deprecated)](https://github.com/react-native-oh-library/react-native-harmony-screens/releases) | 0.72.* | 否 | API12+ | 3.34.0 | [Npm Address](https://www.npmjs.com/package/@react-native-oh-tpl/react-native-screens) |
19 15 
20-## 1. Installation and Usage16+## Introduction
21 17 
22-The implementation of this library depends on the native code from @react-navigation/native and @react-native-ohos/native-stack and @react-native-ohos/react-native-safe-area-context and @react-native-ohos/react-native-gesture-handler and @react-native-ohos/react-native-reanimated. If this library is included into your application, there is no need to include it again; you can skip the steps in this section and use it directly.18+react-native-screens is a native screen navigation component library in the React Navigation ecosystem, providing native navigation screen stack management capabilities, supporting iOS, Android, and HarmonyOS platforms.
23 19 
24-If it is not included, follow the guide provided in [@react-navigation/native](./react-navigation-native.md) and [@react-native-ohos/react-native-safe-area-context](./react-native-safe-area-context.md) and [@react-native-ohos/react-native-gesture-handler](./react-native-gesture-handler.md) and [@react-native-ohos/react-native-reanimated](./react-native-reanimated.md) to add it to your project.20+## Download and Install
21+ 
22+The implementation of this library depends on the native code from @react-navigation/native, @react-native-ohos/native-stack, @react-native-ohos/stack, @react-native-ohos/react-native-safe-area-context, @react-native-ohos/react-native-gesture-handler, and @react-native-ohos/react-native-reanimated. If this library is included into your application, there is no need to include it again; you can skip the steps in this section and use it directly.
23+ 
24+If it is not included, follow the guide provided in [@react-navigation/native](https://gitcode.com/CPF-RN/usage-docs/blob/master/en/react-navigation-native.md) and [@react-native-ohos/react-native-gesture-handler](https://gitcode.com/CPF-RN/usage-docs/blob/master/en/react-native-gesture-handler.md) and [@react-native-ohos/react-native-safe-area-context](https://gitcode.com/CPF-RN/usage-docs/blob/master/en/react-native-safe-area-context.md) and [@react-native-ohos/react-native-reanimated](https://gitcode.com/CPF-RN/usage-docs/blob/master/en/react-native-reanimated.md) to add it to your project.
25 25 
26Go to the project directory and execute the following instruction:26Go to the project directory and execute the following instruction:
27 27 
28The following covers the usage of the HarmonyOS ported @react-native-ohos/react-native-screens with @react-native-ohos/native-stack and @react-native-ohos/stack.28The following covers the usage of the HarmonyOS ported @react-native-ohos/react-native-screens with @react-native-ohos/native-stack and @react-native-ohos/stack.
29 29 
30-#### **npm**30+**npm**
31 31 
32```bash32```bash
33-# 0.7233+npm install @react-native-ohos/react-native-screens@3.34.2-beta.2
34-npm install @react-native-ohos/react-native-screens@3.34.2-rc.134+npm install @react-native-ohos/native-stack@6.9.28-beta.1
35-npm install @react-native-ohos/native-stack@6.9.28-rc.135+npm install @react-native-ohos/stack@6.4.2-beta.2
36-npm install @react-native-ohos/stack@6.4.2-rc.1
37npm install react-native-screens@3.34.036npm install react-native-screens@3.34.0
38- 
39-# 0.77
40-npm install @react-native-ohos/react-native-screens@4.8.3-rc.3
41-npm install @react-native-ohos/native-stack@7.3.13-rc.3
42-npm install @react-native-ohos/stack@7.2.12-rc.1
43-npm install react-native-screens@4.8.0
44- 
45-# 0.82
46-npm install @react-native-ohos/react-native-screens@4.9.0-rc.13
47-npm install @react-native-ohos/native-stack@7.4.0-rc.13
48-npm install @react-native-ohos/stack@7.2.12-rc.1
49-npm install react-native-screens@4.17.1
50```37```
51 38 
52-#### **yarn**39+**yarn**
53 40 
54```bash41```bash
55-# 0.7242+yarn add @react-native-ohos/react-native-screens@3.34.2-beta.2
56-yarn add @react-native-ohos/react-native-screens@3.34.2-rc.143+yarn add @react-native-ohos/native-stack@6.9.28-beta.1
57-yarn add @react-navigation/native-stack@6.9.28-rc.144+yarn add @react-native-ohos/stack@6.4.2-beta.2
58-yarn add @react-native-ohos/stack@6.4.2-rc.1
59yarn add react-native-screens@3.34.045yarn add react-native-screens@3.34.0
60- 
61-# 0.77
62-yarn add @react-native-ohos/react-native-screens@4.8.3-rc.3
63-yarn add @react-navigation/native-stack@7.3.13-rc.3
64-yarn add @react-native-ohos/stack@7.2.12-rc.1
65-yarn add react-native-screens@4.8.0
66- 
67-# 0.82
68-yarn add @react-native-ohos/react-native-screens@4.9.0-rc.13
69-yarn add @react-navigation/native-stack@7.4.0-rc.13
70-yarn add @react-native-ohos/stack@7.2.12-rc.1
71-yarn add react-native-screens@4.17.1
72```46```
73 47 
74-The following describes the usage of the HarmonyOS-adapted @react-native-ohos/react-native-screens together with @react-navigation/native-stack and @react-navigation/stack.48+## Usage Example
75- 
76-<details>
77- <summary>details:</summary>
78-
79-### 3.34.1
80- 
81-The implementation of this library depends on the native code from @react-navigation/native and @react-navigation/native-stack and @react-native-ohos/react-native-safe-area-context and @react-native-ohos/react-native-gesture-handler and @react-native-ohos/react-native-reanimated. If this library is included into your application, there is no need to include it again; you can skip the steps in this section and use it directly.
82- 
83-Note: If the `@react-native-oh-tpl/native-stack,@react-native-ohos/native-stack` library has been introduced, please uninstall it. Otherwise, this library will fail to be referenced and cannot be used.
84- 
85-If it is not included, follow the guide provided in [@react-navigation/native](./react-navigation-native.md) and [@react-native-ohos/react-native-safe-area-context](./react-native-safe-area-context.md) and [@react-native-ohos/react-native-gesture-handler](./react-native-gesture-handler.md) and [@react-native-ohos/react-native-reanimated](./react-native-reanimated.md) to add it to your project.
86- 
87-#### **npm**
88- 
89-```bash
90-# 0.72
91-npm install @react-native-ohos/react-native-screens@3.34.1-X.X.X
92-npm install @react-navigation/native-stack@6.9.13
93-npm install @react-navigation/stack@6.4.1
94-npm install react-native-screens@3.34.0
95- 
96-# 0.77
97-npm install @react-native-ohos/react-native-screens@4.8.1-X.X.X
98-npm install @react-navigation/native-stack@7.2.0
99-npm install @react-navigation/stack@7.2.10
100-npm install react-native-screens@4.8.0
101- 
102-# 0.82
103-npm install @react-native-ohos/react-native-screens@4.9.0-X.X.X
104-npm install @react-navigation/native-stack@7.3.10
105-npm install @react-navigation/stack@7.2.10
106-npm install react-native-screens@4.17.1
107-```
108- 
109-#### **yarn**
110- 
111-```bash
112-# 0.72
113-yarn add @react-native-ohos/react-native-screens@3.34.1-X.X.X
114-yarn add @react-navigation/native-stack@6.9.13
115-yarn add @react-navigation/stack@6.9.13
116-yarn add react-native-screens@3.34.0
117- 
118-# 0.77
119-yarn add @react-native-ohos/react-native-screens@4.8.1-X.X.X
120-yarn add @react-navigation/native-stack@7.2.0
121-yarn add @react-navigation/stack@6.9.13
122-yarn add react-native-screens@4.8.0
123- 
124-# 0.82
125-yarn add @react-native-ohos/react-native-screens@4.9.0-X.X.X
126-yarn add @react-navigation/native-stack@7.3.10
127-yarn add @react-navigation/stack@6.9.13
128-yarn add react-native-screens@4.17.1
129-```
130-
131-</details>
132 49 
133The following code shows the basic use scenario of the repository:50The following code shows the basic use scenario of the repository:
134 51 
@@ -214,16 +131,14 @@ export default function App() {
214 131 
215```132```
216 133 
217-## 2. Link134+## Link
218 135 
219| | Supported Autolink | Supported RN Version |136| | Supported Autolink | Supported RN Version |
220|--------------------------------------|------------------|------------|137|--------------------------------------|------------------|------------|
221-| ~4.9.0 | No | 0.82 |138+| ~3.34.0 | Yes | 0.72 |
222-| ~4.8.1 | No | 0.77 |
223-| ~3.34.1 | Yes | 0.72 |
224| <= 3.34.0-0.0.2@deprecated | No | 0.72 |139| <= 3.34.0-0.0.2@deprecated | No | 0.72 |
225 140 
226-Using AutoLink need to be configured according to this document, Autolink Framework Guide Documentation: https://gitcode.com/openharmony-sig/ohos_react_native/blob/master/docs/zh-cn/Autolinking.md141+Using AutoLink need to be configured according to this document, Autolink Framework Guide Documentation: https://gitcode.com/CPF-RN/ohos_react_native/blob/main/docs/en/02-development/02-development-guide/autolinking.md
227 142 
228If the version you use supports Autolink and the project has been connected to Autolink, skip the ManualLink configuration.143If the version you use supports Autolink and the project has been connected to Autolink, skip the ManualLink configuration.
229<details>144<details>
@@ -231,7 +146,7 @@ If the version you use supports Autolink and the project has been connected to A
231 146 
232First, use DevEco Studio to open the HarmonyOS project `harmony` in the project directory.147First, use DevEco Studio to open the HarmonyOS project `harmony` in the project directory.
233 148 
234-### 2.1. Adding the overrides Field to oh-package.json5 File in the Root Directory of the Project149+### 1. Overrides RN SDK
235 150 
236```json151```json
237{152{
@@ -241,10 +156,12 @@ First, use DevEco Studio to open the HarmonyOS project `harmony` in the project
241 }156 }
242}157}
243```158```
244-### 2.2. Introducing Native Code159+### 2. Introducing Native Code
245 160 
246Currently, two methods are available:161Currently, two methods are available:
247 162 
163+1. Use the HAR file (preferred method until IDE features are fully developed);
164+2. Directly link to the source code.
248 165 
249Method 1 (recommended): Use the HAR file.166Method 1 (recommended): Use the HAR file.
250 167 
@@ -270,9 +187,9 @@ ohpm install
270 187 
271Method 2: Directly link to the source code.188Method 2: Directly link to the source code.
272 189 
273-> [!TIP] For details, see [Directly Linking Source Code](./link-source-code.md).190+> [!TIP] For details, see [Directly Linking Source Code](https://gitcode.com/CPF-RN/usage-docs/blob/master/en/link-source-code.md).
274 191 
275-### 2.3. Configuring CMakeLists and Introducing Package192+### 3. Configuring CMakeLists and Introducing Package
276 193 
277 194 
278Open `entry/src/main/cpp/CMakeLists.txt` and add the following code:195Open `entry/src/main/cpp/CMakeLists.txt` and add the following code:
@@ -319,7 +236,7 @@ Open `entry/src/main/cpp/PackageProvider.cpp`, add:
319```diff236```diff
320#include "RNOH/PackageProvider.h"237#include "RNOH/PackageProvider.h"
321#include "generated/RNOHGeneratedPackage.h"238#include "generated/RNOHGeneratedPackage.h"
322-+ #include "RnohReactNativeHarmonyScreensPackage.h"239++ #include "ScreensPackage.h"
323 240 
324using namespace rnoh;241using namespace rnoh;
325 242 
@@ -327,12 +244,12 @@ std::vector<std::shared_ptr<Package>> PackageProvider::getPackages(Package::Cont
327 return {244 return {
328 std::make_shared<RNOHGeneratedPackage>(ctx),245 std::make_shared<RNOHGeneratedPackage>(ctx),
329 std::make_shared<SamplePackage>(ctx),246 std::make_shared<SamplePackage>(ctx),
330-+ std::make_shared<rnoh::RnohReactNativeHarmonyScreensPackage>(ctx),247++ std::make_shared<rnoh::ScreensPackage>(ctx),
331 };248 };
332}249}
333```250```
334 251 
335-### 2.4. Introducing Component to ArkTS252+### 4. Introducing Component to ArkTS
336 253 
337Find `function buildCustomRNComponent()`, which is usually located in `entry/src/main/ets/pages/index.ets` or `entry/src/main/ets/rn/LoadBundle.ets`, and add the following code:254Find `function buildCustomRNComponent()`, which is usually located in `entry/src/main/ets/pages/index.ets` or `entry/src/main/ets/rn/LoadBundle.ets`, and add the following code:
338 255 
@@ -369,34 +286,26 @@ const arkTsComponentNames: Array<string> = [
369];286];
370```287```
371 288 
372-### 2.5. Introducing Package to ArkTS289+### 5. Introducing Package to ArkTS
373 290 
374Open `src/main/ets/RNOHPackagesFactory.ets`, add:291Open `src/main/ets/RNOHPackagesFactory.ets`, add:
375 292 
376```diff293```diff
377-#include "RNOH/PackageProvider.h"294+ ...
378-#include "generated/RNOHGeneratedPackage.h"295+import type { RNPackageContext, RNPackage } from '@rnoh/react-native-openharmony';
379-# 0.77/0.82296++ import RnohReactNativeHarmonyScreensPackage from '@react-native-ohos/react-native-screens';
380-+ #include "RnohReactNativeHarmonyScreensPackage.h"
381-# 0.72
382-+ #include "ScreensPackage.h"
383 297 
384-using namespace rnoh;298+export function createRNOHPackages(ctx: RNPackageContext): RNPackage[] {
385- 299+ return [
386-std::vector<std::shared_ptr<Package>> PackageProvider::getPackages(Package::Context ctx) {300+ new SamplePackage(ctx),
387- return {301++ new RnohReactNativeHarmonyScreensPackage(ctx),
388- std::make_shared<RNOHGeneratedPackage>(ctx),302+ ];
389- std::make_shared<SamplePackage>(ctx),
390-# 0.77/0.82
391-+ std::make_shared<rnoh::RnohReactNativeHarmonyScreensPackage>(ctx),
392-# 0.72
393-+ std::make_shared<rnoh::ScreensPackage>(ctx),
394- };
395}303}
304+ 
396```305```
397</details>306</details>
398 307 
399-### 2.6 Running308+### Running
400 309 
401Click the `sync` button in the upper right corner.310Click the `sync` button in the upper right corner.
402 311 
@@ -409,7 +318,7 @@ ohpm install
409 318 
410Then build and run the code.319Then build and run the code.
411 320 
412-## 3. Constraints321+## Constraints and Limitations
413 322 
414### Compatibility323### Compatibility
415 324 
@@ -419,10 +328,8 @@ Verified in the following versions.
419 328 
4201. RNOH: 0.72.96; SDK: HarmonyOS 6.0.0 Release SDK; IDE: DevEco Studio 6.0.0.858; ROM: 6.0.0.112;3291. RNOH: 0.72.96; SDK: HarmonyOS 6.0.0 Release SDK; IDE: DevEco Studio 6.0.0.858; ROM: 6.0.0.112;
4212. RNOH: 0.72.33; SDK: HarmonyOS NEXT B1; IDE: DevEco Studio: 5.0.3.900; ROM: Next.0.0.71;3302. RNOH: 0.72.33; SDK: HarmonyOS NEXT B1; IDE: DevEco Studio: 5.0.3.900; ROM: Next.0.0.71;
422-3. RNOH: 0.77.18; SDK: HarmonyOS 6.0.0 Release SDK; IDE: DevEco Studio 6.0.0.858; ROM: 6.0.0.112;
423-4. RNOH: 0.82.25; SDK: HarmonyOS 6.0.2 Release SDK; IDE: DevEco Studio 6.0.2.650; ROM: 6.0.0.328;
424 331 
425-## 4. Properties332+## API
426 333 
427> [!TIP] The **Platform** column indicates the platform where the properties are supported in the original third-party library.334> [!TIP] The **Platform** column indicates the platform where the properties are supported in the original third-party library.
428 335 
@@ -444,7 +351,7 @@ Below are the basic props of the HarmonyOS-adapted @react-native-ohos/react-nati
444| userAnimatedHeaderHeight | Dynamically calculates the height of title bar, this value changes with each view layout change | function | No | iOS Android | NO |351| userAnimatedHeaderHeight | Dynamically calculates the height of title bar, this value changes with each view layout change | function | No | iOS Android | NO |
445| type | Subtitle type | property | No | iOS Android | Yes |352| type | Subtitle type | property | No | iOS Android | Yes |
446 353 
447-# ScreenProps Property List354+### ScreenProps Property List
448 355 
449| Name | Description | Type | Required | Platform | HarmonyOS Support |356| Name | Description | Type | Required | Platform | HarmonyOS Support |
450| -------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -------- | ----------- | ----------------- |357| -------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -------- | ----------- | ----------------- |
@@ -455,14 +362,9 @@ Below are the basic props of the HarmonyOS-adapted @react-native-ohos/react-nati
455| onSearchButtonPress | Search | function | No | iOS Android | Yes |362| onSearchButtonPress | Search | function | No | iOS Android | Yes |
456| onCancelButtonPress | Cancel search | function | No | iOS Android | Yes |363| onCancelButtonPress | Cancel search | function | No | iOS Android | Yes |
457| onChangeText | Search bar text change | function | No | iOS Android | Yes |364| onChangeText | Search bar text change | function | No | iOS Android | Yes |
458-| customAnimationOnSwipe<sup>4.8.1</sup> | Boolean indicating whether swipe dismissal should trigger the animation provided by 'stackAnimation'. Defaults to 'false'. | `boolean` | No | iOS | No |
459| fullScreenSwipeEnabled | Full screen swipe | `boolean` | No | iOS | Yes |365| fullScreenSwipeEnabled | Full screen swipe | `boolean` | No | iOS | Yes |
460-| fullScreenSwipeShadowEnabled<sup>4.8.1</sup> | Boolean indicating whether the full-screen dismissal gesture has a shadow under the view during transition. Gestures use custom transitions, so there is no shadow by default. When enabled, a custom shadow view is added during transition to mimic the default iOS shadow. Defaults to 'true'. | `boolean` | No | iOS | No |
461| gestureEnabled | Whether to enable gesture sliding | `boolean` | No | iOS | Yes |366| gestureEnabled | Whether to enable gesture sliding | `boolean` | No | iOS | Yes |
462| gestureResponseDistance | Effective area for gesture sliding | `GestureResponseDistanceType` | No | iOS | Yes |367| gestureResponseDistance | Effective area for gesture sliding | `GestureResponseDistanceType` | No | iOS | Yes |
463-| homeIndicatorHidden<sup>4.8.1</sup> | Whether the home indicator should be hidden on this screen. Defaults to 'false'. | `boolean` | No | iOS | No |
464-| hideKeyboardOnSwipe<sup>4.8.1</sup> | Whether the keyboard should be hidden when swiping to the previous screen. Defaults to 'false'. | `boolean` | No | iOS | No |
465-| scrollEdgeEffects<sup>4.9.0</sup> | Configures scroll edge effects for content ScrollView | scrollEdgeEffects | No | iOS | No |
466| onAppear | Page show | function | No | All | Yes |368| onAppear | Page show | function | No | All | Yes |
467| onDisappear | Page disappear | function | No | All | Yes |369| onDisappear | Page disappear | function | No | All | Yes |
468| onSheetDetentChanged | Callback called when the current screen is in `formSheet` presentation state and its detent has changed | function | No | All | No |370| onSheetDetentChanged | Callback called when the current screen is in `formSheet` presentation state and its detent has changed | function | No | All | No |
@@ -470,7 +372,6 @@ Below are the basic props of the HarmonyOS-adapted @react-native-ohos/react-nati
470| onWillDisappear | Page will disappear | function | No | All | Yes |372| onWillDisappear | Page will disappear | function | No | All | Yes |
471| preventNativeDismiss | Indicates whether to prevent the current screen from being dismissed, defaults to `false` | `boolean` | No | iOS | Yes |373| preventNativeDismiss | Indicates whether to prevent the current screen from being dismissed, defaults to `false` | `boolean` | No | iOS | Yes |
472| replaceAnimation | Stack entry/exit type | `ScreenReplaceTypes` | No | All | Yes |374| replaceAnimation | Stack entry/exit type | `ScreenReplaceTypes` | No | All | Yes |
473-| screenId<sup>4.8.1</sup> | Way to identify the screen in native code | `string \| undefined` | No | iOS | Yes |
474| screenOrientation | Screen display direction | `ScreenOrientationTypes` | No | All | Yes |375| screenOrientation | Screen display direction | `ScreenOrientationTypes` | No | All | Yes |
475| sheetAllowedDetents | Describes the heights at which the sheet can rest, only valid when `presentation` is set to `formSheet` | `number[] \| 'fitToContents' \| 'medium' \| 'large' \| 'all'` | No | All | No |376| sheetAllowedDetents | Describes the heights at which the sheet can rest, only valid when `presentation` is set to `formSheet` | `number[] \| 'fitToContents' \| 'medium' \| 'large' \| 'all'` | No | All | No |
476| sheetElevation | Describes the elevation of the sheet, affecting the shadow on the top edge of the sheet | `number` | No | Android | No |377| sheetElevation | Describes the elevation of the sheet, affecting the shadow on the top edge of the sheet | `number` | No | Android | No |
@@ -479,7 +380,6 @@ Below are the basic props of the HarmonyOS-adapted @react-native-ohos/react-nati
479| sheetGrabberVisible | Indicates whether the sheet shows a grabber at the top, defaults to `false` | `boolean` | No | iOS | No |380| sheetGrabberVisible | Indicates whether the sheet shows a grabber at the top, defaults to `false` | `boolean` | No | iOS | No |
480| stackAnimation | Appearance/disappearance animation when the screen is pushed or popped from the top of the stack | `StackAnimationTypes` | No | All | Yes |381| stackAnimation | Appearance/disappearance animation when the screen is pushed or popped from the top of the stack | `StackAnimationTypes` | No | All | Yes |
481| stackPresentation | How the screen should be presented | `StackPresentationTypes` | No | All | Yes |382| stackPresentation | How the screen should be presented | `StackPresentationTypes` | No | All | Yes |
482-| statusBarAnimation<sup>4.8.1</sup> | Sets the status bar animation (similar to the `StatusBar` component) | `'none' \| 'fade' \| 'slide'` | No | All | No |
483| statusBarColor | Sets the status bar color (deprecated) | `ColorValue` | No | All | No |383| statusBarColor | Sets the status bar color (deprecated) | `ColorValue` | No | All | No |
484| statusBarHidden | Indicates whether the status bar should be hidden on this screen, defaults to `false` | `boolean` | No | All | Yes |384| statusBarHidden | Indicates whether the status bar should be hidden on this screen, defaults to `false` | `boolean` | No | All | Yes |
485| statusBarStyle | Sets the status bar style (similar to the `StatusBar` component) | `'inverted' \| 'auto' \| 'light' \| 'dark'` | No | All | Yes |385| statusBarStyle | Sets the status bar style (similar to the `StatusBar` component) | `'inverted' \| 'auto' \| 'light' \| 'dark'` | No | All | Yes |
@@ -488,69 +388,47 @@ Below are the basic props of the HarmonyOS-adapted @react-native-ohos/react-nati
488| onGestureCancel | Callback called after swipe back is cancelled | function | No | All | Yes |388| onGestureCancel | Callback called after swipe back is cancelled | function | No | All | Yes |
489| activityState | Controlling page visibility for multiple pages inside a container | `number` | No | All | Yes |389| activityState | Controlling page visibility for multiple pages inside a container | `number` | No | All | Yes |
490 390 
491-# ScreenStackHeaderSubviewProps Property List391+### ScreenStackHeaderSubviewProps Property List
492 392 
493| Name | Description | Type | Required | Platform | HarmonyOS Support |393| Name | Description | Type | Required | Platform | HarmonyOS Support |
494| --------------------- | ------------------------------------------------------------ | --------- | -------- | -------- | ----------------- |394| --------------------- | ------------------------------------------------------------ | --------- | -------- | -------- | ----------------- |
495| hidesSharedBackground | Indicates whether the background that this item may share with other items in the bar should be hidden. Only applicable to type="right" and type="left" subviews. Available only from iOS 26.0 and above | `boolean` | No | All | No |395| hidesSharedBackground | Indicates whether the background that this item may share with other items in the bar should be hidden. Only applicable to type="right" and type="left" subviews. Available only from iOS 26.0 and above | `boolean` | No | All | No |
496 396 
497-# ScreenStackHeaderConfigProps Property List397+### ScreenStackHeaderConfigProps Property List
498 398 
499| Name | Description | Type | Required | Platform | HarmonyOS Support |399| Name | Description | Type | Required | Platform | HarmonyOS Support |
500| ------------------------------------------------ | ------------------------------------------------------------ | ----------------------- | -------- | -------- | ----------------- |400| ------------------------------------------------ | ------------------------------------------------------------ | ----------------------- | -------- | -------- | ----------------- |
501-| backButtonInCustomView<sup>4.8.1</sup> | Whether to show the back button when customizing the left title | `boolean` | No | All | No |
502| backgroundColor | Controls the color of the navigation title | `ColorValue` | No | All | Yes |401| backgroundColor | Controls the color of the navigation title | `ColorValue` | No | All | Yes |
503| backTitle | Back button text content | `string` | No | iOS | Yes |402| backTitle | Back button text content | `string` | No | iOS | Yes |
504| backTitleFontSize | Back button text font size | `number` | No | iOS | Yes |403| backTitleFontSize | Back button text font size | `number` | No | iOS | Yes |
505-| backTitleVisible<sup>deprecated from 4.8.1</sup> | Whether back button text is displayed | `boolean` | No | iOS | Yes |
506-| blurEffect<sup>4.8.1</sup> | Blur effect applied to the title, used with backgroundColor alpha < 1 | `BlurEffectTypes` | No | iOS | Yes |
507| color | Controls the color of items rendered on the title, including back icon, back text, and title text | `ColorValue` | No | All | Yes |404| color | Controls the color of items rendered on the title, including back icon, back text, and title text | `ColorValue` | No | All | Yes |
508| direction | Whether the stack should use rtl or ltr form | `'rtl' \| 'ltr'` | No | All | No |405| direction | Whether the stack should use rtl or ltr form | `'rtl' \| 'ltr'` | No | All | No |
509-| disableBackButtonMenu<sup>4.8.1</sup> | Controls whether to show a menu on long press of the back button on iOS >= 14 | `boolean` | No | iOS | No |
510-| backButtonDisplayMode<sup>4.8.1</sup> | Controls the behavior of the back button | `BackButtonDisplayMode` | No | iOS | No |
511-| headerLeftBarButtonItems<sup>4.9.0</sup> | Array of UIBarButtomItems on the left side of the title | `HeaderBarButtonItem[]` | No | iOS | No |
512-| headerRightBarButtonItems<sup>4.9.0</sup> | Array of UIBarButtomItems on the right side of the title | `HeaderBarButtonItem[]` | No | iOS | No |
513| hidden | Hides the title bar | `boolean` | No | All | Yes |406| hidden | Hides the title bar | `boolean` | No | All | Yes |
514| hideBackButton | Hides the title bar back button | `boolean` | No | All | Yes |407| hideBackButton | Hides the title bar back button | `boolean` | No | All | Yes |
515| hideShadow | Controls whether to hide the title bar shadow or bottom border | `boolean` | No | All | Yes |408| hideShadow | Controls whether to hide the title bar shadow or bottom border | `boolean` | No | All | Yes |
516-| largeTitle<sup>4.8.1</sup> | Sets native property to prefer large title (as in iOS settings) | `boolean` | No | iOS | No |
517| largeTitleBackgroundColor | Controls the color of the navigation title when the edge of any scrollable content reaches the matching edge of the navigation bar | `ColorValue` | No | All | No |409| largeTitleBackgroundColor | Controls the color of the navigation title when the edge of any scrollable content reaches the matching edge of the navigation bar | `ColorValue` | No | All | No |
518-| largeTitleColor<sup>4.8.1</sup> | Custom color used for large title, defaults to titleColor property | `ColorValue` | No | iOS | No |
519-| largeTitleFontFamily<sup>4.8.1</sup> | Custom font family used for large title | `string` | No | iOS | No |
520-| largeTitleFontSize<sup>4.8.1</sup> | Custom font size used for large title | `number` | No | iOS | No |
521-| largeTitleFontWeight<sup>4.8.1</sup> | Custom font weight used for large title | `string` | No | iOS | No |
522-| largeTitleHideShadow<sup>4.8.1</sup> | Allows disabling the drop shadow under the navigation title when the edge of any scrollable content reaches the matching edge of the navigation bar | `boolean` | No | All | No |
523| title | Title bar title | `string` | No | All | Yes |410| title | Title bar title | `string` | No | All | Yes |
524| titleColor | Allows setting the text color of the title | `ColorValue` | No | All | Yes |411| titleColor | Allows setting the text color of the title | `ColorValue` | No | All | Yes |
525| titleFontFamily | Custom font family used for the title | `string` | No | All | Yes |412| titleFontFamily | Custom font family used for the title | `string` | No | All | Yes |
526| titleFontSize | Custom font size used for the title | `number` | No | All | Yes |413| titleFontSize | Custom font size used for the title | `number` | No | All | Yes |
527| titleFontWeight | Custom font weight used for the title | `string` | No | All | Yes |414| titleFontWeight | Custom font weight used for the title | `string` | No | All | Yes |
528-| topInsetEnabled<sup>4.8.1</sup> | Deprecated, setting this property has no effect | `boolean` | No | All | No |
529| translucent | Whether the title bar is transparent | `boolean` | No | All | Yes |415| translucent | Whether the title bar is transparent | `boolean` | No | All | Yes |
530 416 
531-# SearchBarProps Property List417+### SearchBarProps Property List
532 418 
533| Name | Description | Type | Required | Platform | HarmonyOS Support |419| Name | Description | Type | Required | Platform | HarmonyOS Support |
534| ----------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -------- | -------- | ----------------- |420| ----------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -------- | -------- | ----------------- |
535-| autoCapitalize<sup>4.8.1</sup> | Auto-capitalization behavior, defaults to `systemDefault` | `'systemDefault' \| 'none' \| 'words' \| 'sentences' \| 'characters'` | No | All | No |
536-| autoFocus<sup>4.8.1</sup> | Auto-focus search bar when mounted | `boolean` | No | Android | Yes |
537| barTintColor | Search field background color | `ColorValue` | No | All | Yes |421| barTintColor | Search field background color | `ColorValue` | No | All | Yes |
538| tintColor | Color of cursor caret and cancel button text | `ColorValue` | No | iOS | Yes |422| tintColor | Color of cursor caret and cancel button text | `ColorValue` | No | iOS | Yes |
539| cancelButtonText | Text used to replace default `Cancel` button text | `string` | No | iOS | Yes |423| cancelButtonText | Text used to replace default `Cancel` button text | `string` | No | iOS | Yes |
540-| disableBackButtonOverride<sup>4.8.1</sup> | Specifies whether the back button should close text input in search bar | `boolean` | No | Android | No |
541-| hideNavigationBar<sup>4.8.1</sup> | Indicates whether navigation bar should be hidden | `boolean` | No | iOS | Yes |
542-| hideWhenScrolling<sup>4.8.1</sup> | Indicates whether search bar should be hidden when scrolling | `boolean` | No | iOS | No |
543| inputType | Sets input type, defaults to `text` | `'text' \| 'phone' \| 'number' \| 'email'` | No | Android | Yes |424| inputType | Sets input type, defaults to `text` | `'text' \| 'phone' \| 'number' \| 'email'` | No | Android | Yes |
544-| obscureBackground<sup>4.8.1</sup> | Indicates whether underlying content should be blurred | `boolean` | No | iOS | No |
545| placeholder | Text displayed when search field is empty | `string` | No | All | Yes |425| placeholder | Text displayed when search field is empty | `string` | No | All | Yes |
546-| placement<sup>4.8.1</sup> | Position of search bar | `SearchBarPlacement` | No | iOS | No |
547-| allowToolbarIntegration<sup>4.9.0</sup> | Indicates whether system can place search bar between other toolbar items on iPhone | `boolean` | No | iOS | No |
548| textColor | Search field text color | `ColorValue` | No | All | Yes |426| textColor | Search field text color | `ColorValue` | No | All | Yes |
549| hintTextColor | Search hint text color | `ColorValue` | No | Android | Yes |427| hintTextColor | Search hint text color | `ColorValue` | No | Android | Yes |
550| headerIconColor | Color of search and close icons displayed in header | `ColorValue` | No | Android | Yes |428| headerIconColor | Color of search and close icons displayed in header | `ColorValue` | No | Android | Yes |
551| shouldShowHintSearchIcon | Show search hint icon when search bar is focused | `boolean` | No | Android | No |429| shouldShowHintSearchIcon | Show search hint icon when search bar is focused | `boolean` | No | Android | No |
552 430 
553-# StackAnimationTypes Value List431+### StackAnimationTypes Value List
554 432 
555| Name | Description | Type | Required | Platform | HarmonyOS Support |433| Name | Description | Type | Required | Platform | HarmonyOS Support |
556| ----------------- | ---------------------- | --------------------- | -------- | -------- | ----------------- |434| ----------------- | ---------------------- | --------------------- | -------- | -------- | ----------------- |
@@ -563,11 +441,8 @@ Below are the basic props of the HarmonyOS-adapted @react-native-ohos/react-nati
563| slide_from_bottom | Slide in from bottom animation | `'slide_from_bottom'` | No | All | Yes |441| slide_from_bottom | Slide in from bottom animation | `'slide_from_bottom'` | No | All | Yes |
564| slide_from_right | Slide in from right animation | `'slide_from_right'` | No | All | Yes |442| slide_from_right | Slide in from right animation | `'slide_from_right'` | No | All | Yes |
565| slide_from_left | Slide in from left animation | `'slide_from_left'` | No | All | Yes |443| slide_from_left | Slide in from left animation | `'slide_from_left'` | No | All | Yes |
566-| ios<sup>deprecated from 4.8.1</sup> | iOS style slide in from right animation | `'ios'` | No | All | Yes |
567-| ios_from_right<sup>4.8.1</sup> | iOS style slide in from right animation | `'ios_from_right'` | No | All | Yes |
568-| ios_from_left<sup>4.8.1</sup> | iOS style slide in from left animation | `'ios_from_left'` | No | All | Yes |
569 444 
570-# StackPresentationTypes Value List445+### StackPresentationTypes Value List
571 446 
572| Name | Description | Type | Required | Platform | HarmonyOS Support |447| Name | Description | Type | Required | Platform | HarmonyOS Support |
573| ------------------------- | ------------------ | ----------------------------- | -------- | -------- | ----------------- |448| ------------------------- | ------------------ | ----------------------------- | -------- | -------- | ----------------- |
@@ -578,16 +453,15 @@ Below are the basic props of the HarmonyOS-adapted @react-native-ohos/react-nati
578| containedTransparentModal | Contained transparent modal presentation | `'containedTransparentModal'` | No | All | Yes |453| containedTransparentModal | Contained transparent modal presentation | `'containedTransparentModal'` | No | All | Yes |
579| fullScreenModal | Full screen modal presentation | `'fullScreenModal'` | No | All | Yes |454| fullScreenModal | Full screen modal presentation | `'fullScreenModal'` | No | All | Yes |
580| formSheet | Form sheet presentation | `'formSheet'` | No | All | No |455| formSheet | Form sheet presentation | `'formSheet'` | No | All | No |
581-| pageSheet<sup>4.9.0</sup> | Page sheet presentation | `'pageSheet'` | No | All | Yes |
582 456 
583-# ScreenReplaceTypes Value List457+### ScreenReplaceTypes Value List
584 458 
585| Name | Description | Type | Required | Platform | HarmonyOS Support |459| Name | Description | Type | Required | Platform | HarmonyOS Support |
586| ---- | ------------ | -------- | -------- | -------- | ----------------- |460| ---- | ------------ | -------- | -------- | -------- | ----------------- |
587| push | Push new screen | `'push'` | No | All | Yes |461| push | Push new screen | `'push'` | No | All | Yes |
588| pop | Pop current screen | `'pop'` | No | All | Yes |462| pop | Pop current screen | `'pop'` | No | All | Yes |
589 463 
590-# ScreenOrientationTypes Value List464+### ScreenOrientationTypes Value List
591 465 
592| Name | Description | Type | Required | Platform | HarmonyOS Support |466| Name | Description | Type | Required | Platform | HarmonyOS Support |
593| --------------- | ------------ | ------------------- | -------- | -------- | ----------------- |467| --------------- | ------------ | ------------------- | -------- | -------- | ----------------- |
@@ -600,7 +474,7 @@ Below are the basic props of the HarmonyOS-adapted @react-native-ohos/react-nati
600| landscape_left | Landscape left orientation | `'landscape_left'` | No | All | Yes |474| landscape_left | Landscape left orientation | `'landscape_left'` | No | All | Yes |
601| landscape_right | Landscape right orientation | `'landscape_right'` | No | All | Yes |475| landscape_right | Landscape right orientation | `'landscape_right'` | No | All | Yes |
602 476 
603-# BlurEffectTypes Value List477+### BlurEffectTypes Value List
604 478 
605| Name | Description | Type | Required | Platform | HarmonyOS Support |479| Name | Description | Type | Required | Platform | HarmonyOS Support |
606| ---------------------------- | ------------------------------ | -------------------------------- | -------- | -------- | ----------------- |480| ---------------------------- | ------------------------------ | -------------------------------- | -------- | -------- | ----------------- |
@@ -626,7 +500,7 @@ Below are the basic props of the HarmonyOS-adapted @react-native-ohos/react-nati
626| systemThickMaterialDark | System thick material (dark) blur effect | `'systemThickMaterialDark'` | No | All | No |500| systemThickMaterialDark | System thick material (dark) blur effect | `'systemThickMaterialDark'` | No | All | No |
627| systemChromeMaterialDark | System Chrome material (dark) blur effect | `'systemChromeMaterialDark'` | No | All | No |501| systemChromeMaterialDark | System Chrome material (dark) blur effect | `'systemChromeMaterialDark'` | No | All | No |
628 502 
629-# GestureResponseDistanceType Property List503+### GestureResponseDistanceType Property List
630 504 
631| Name | Description | Type | Required | Platform | HarmonyOS Support |505| Name | Description | Type | Required | Platform | HarmonyOS Support |
632| ------ | ------------------ | -------- | -------- | -------- | ----------------- |506| ------ | ------------------ | -------- | -------- | -------- | ----------------- |
@@ -635,125 +509,6 @@ Below are the basic props of the HarmonyOS-adapted @react-native-ohos/react-nati
635| top | Gesture response top distance | `number` | No | All | Yes |509| top | Gesture response top distance | `number` | No | All | Yes |
636| bottom | Gesture response bottom distance | `number` | No | All | Yes |510| bottom | Gesture response bottom distance | `number` | No | All | Yes |
637 511 
638-# SearchBarPlacement Value List<sup>4.9.0</sup>
639- 
640-| Name | Description | Type | Required | Platform | HarmonyOS Support |
641-| ------------------ | -------------------------------------- | ---------------------- | -------- | -------- | ----------------- |
642-| automatic | Automatically select search bar position | `'automatic'` | No | All | No |
643-| inline | Inline search bar position (deprecated since iOS 26) | `'inline'` | No | All | No |
644-| stacked | Stacked search bar position | `'stacked'` | No | All | No |
645-| integrated | Integrated search bar position | `'integrated'` | No | All | No |
646-| integratedButton | Integrated button search bar position | `'integratedButton'` | No | All | No |
647-| integratedCentered | Integrated centered search bar position | `'integratedCentered'` | No | All | No |
648- 
649-# SharedHeaderBarButtonItem Property List<sup>4.9.0</sup>
650- 
651-| Name | Description | Type | Required | Platform | HarmonyOS Support |
652-| --------------------- | ------------------------------------------------------ | ------------------------------------------------------------ | -------- | -------- | ----------------- |
653-| index | Position of the item in the navigation item array | `number` | No | All | No |
654-| label | Label of the item | `string` | No | All | No |
655-| labelStyle | Style of the item label | `{ fontFamily?: string; fontSize?: number; fontWeight?: string; color?: ColorValue; }` | No | All | No |
656-| icon | Icon of the item | `PlatformIconIOS` | No | All | No |
657-| variant | Variant of the item | `'plain' \| 'done' \| 'prominent'` | No | All | No |
658-| tintColor | Tint color applied to the item | `ColorValue` | No | All | No |
659-| disabled | Boolean indicating whether the item is disabled | `boolean` | No | All | No |
660-| width | Width of the item | `number` | No | All | No |
661-| hidesSharedBackground | Indicates whether the background that this item may share with other items in the bar should be hidden | `boolean` | No | All | No |
662-| sharesBackground | Indicates whether this item can share background with other items in the navigation bar or toolbar | `boolean` | No | All | No |
663-| identifier | Identifier used to match items during navigation bar or toolbar transitions | `string` | No | All | No |
664-| badge | Badge to be rendered on the item | `{ value: string; style?: { color?: ColorValue; backgroundColor?: ColorValue; fontFamily?: string; fontSize?: number; fontWeight?: string; }; }` | No | All | No |
665-| accessibilityLabel | Accessibility label | `string` | No | All | No |
666-| accessibilityHint | Accessibility hint | `string` | No | All | No |
667- 
668-# HeaderBarButtonItemWithAction Property List<sup>4.9.0</sup>
669- 
670-| Name | Description | Type | Required | Platform | HarmonyOS Support |
671-| ------------------------------- | ---------------------------------- | --------- | -------- | -------- | ----------------- |
672-| onPress | Callback function when the item is pressed | function | Yes | All | No |
673-| selected | Boolean indicating whether the item is selected | `boolean` | No | All | No |
674-| changesSelectionAsPrimaryAction | Boolean indicating whether the item represents an action or selection | `boolean` | No | All | No |
675- 
676-# HeaderBarButtonItemMenuAction Property List<sup>4.9.0</sup>
677- 
678-| Name | Description | Type | Required | Platform | HarmonyOS Support |
679-| -------------------- | ------------------------------- | ------------------------------------------------------------ | -------- | -------- | ----------------- |
680-| type | Type of menu action, fixed as 'action' | `'action'` | Yes | All | No |
681-| label | Label of the menu action | `string` | No | All | No |
682-| onPress | Callback function when the menu action is pressed | function | Yes | All | No |
683-| icon | Icon of the menu action | `PlatformIconIOSSfSymbol` | No | All | No |
684-| state | State of the menu item | `'on' \| 'off' \| 'mixed'` | No | All | No |
685-| attributes | Attributes of the menu item | `'destructive' \| 'disabled' \| 'hidden' \| 'keepsMenuPresented'` | No | All | No |
686-| discoverabilityLabel | Discoverability label of the menu item | `string` | No | All | No |
687- 
688-# HeaderBarButtonItemSubmenu Property List<sup>4.9.0</sup>
689- 
690-| Name | Description | Type | Required | Platform | HarmonyOS Support |
691-| ----- | ------------------------------ | ---------------------------------------------- | -------- | -------- | ----------------- |
692-| type | Type of submenu, fixed as 'submenu' | `'submenu'` | Yes | All | No |
693-| label | Label of the submenu | `string` | No | All | No |
694-| icon | Icon of the submenu | `PlatformIconIOSSfSymbol` | No | All | No |
695-| items | Item list of the submenu | `HeaderBarButtonItemWithMenu['menu']['items']` | Yes | All | No |
696- 
697-# HeaderBarButtonItemWithMenu Property List<sup>4.9.0</sup>
698- 
699-| Name | Description | Type | Required | Platform | HarmonyOS Support |
700-| ---- | -------------- | ------------------------------------------------------------ | -------- | -------- | ----------------- |
701-| menu | Menu configuration of the button | `{ label?: string; items: (HeaderBarButtonItemMenuAction \| HeaderBarButtonItemSubmenu)[]; }` | Yes | All | No |
702- 
703-# HeaderBarButtonItemSpacing Property List<sup>4.9.0</sup>
704- 
705-| Name | Description | Type | Required | Platform | HarmonyOS Support |
706-| ------- | -------------- | -------- | -------- | -------- | ----------------- |
707-| spacing | Spacing between buttons | `number` | Yes | All | No |
708- 
709-# HeaderBarButtonItem Value List<sup>4.9.0</sup>
710- 
711-| Name | Description | Type | Required | Platform | HarmonyOS Support |
712-| ----------------------------- | ------------------------ | ------------------------------- | -------- | -------- | ----------------- |
713-| HeaderBarButtonItemWithAction | Navigation bar button with click action | `HeaderBarButtonItemWithAction` | No | All | No |
714-| HeaderBarButtonItemWithMenu | Navigation bar button with menu | `HeaderBarButtonItemWithMenu` | No | All | No |
715-| HeaderBarButtonItemSpacing | Spacing between navigation bar buttons | `HeaderBarButtonItemSpacing` | No | All | No |
716- 
717-# BottomTabs Value List<sup>4.9.0</sup>
718- 
719-| Name | Description | Type | Required | Platform | HarmonyOS Support |
720-| ---------------------------------- | -------------------------- | -------------------------------------------------- | -------- | -------- | ----------------- |
721-| `tabBarBackgroundColor` | Tab bar background color | `ColorValue` | No | Android | No |
722-| `tabBarItemTitleFontFamily` | Tab item title font family | `string` | No | Android | No |
723-| `tabBarItemTitleFontSize` | Tab item title font size | `number` | No | Android | No |
724-| `tabBarItemTitleFontSizeActive` | Selected tab item title font size | `number` | No | Android | No |
725-| `tabBarItemTitleFontWeight` | Tab item title font weight | `string` | No | Android | No |
726-| `tabBarItemTitleFontStyle` | Tab item title font style | `string` | No | Android | No |
727-| `tabBarItemTitleFontColor` | Tab item title font color | `ColorValue` | No | Android | No |
728-| `tabBarItemTitleFontColorActive` | Selected tab item title font color | `ColorValue` | No | Android | No |
729-| `tabBarItemIconColor` | Tab item icon color | `ColorValue` | No | Android | No |
730-| `tabBarItemIconColorActive` | Selected tab item icon color | `ColorValue` | No | Android | No |
731-| `tabBarItemActiveIndicatorColor` | Tab item active indicator color | `ColorValue` | No | Android | No |
732-| `tabBarItemActiveIndicatorEnabled` | Whether to enable tab item active indicator | `boolean` | No | Android | No |
733-| `tabBarItemRippleColor` | Tab item ripple effect color | `ColorValue` | No | Android | No |
734-| `tabBarItemLabelVisibilityMode` | Tab item label visibility mode | `'auto' \| 'selected' \| 'labeled' \| 'unlabeled'` | No | Android | No |
735- 
736-# BottomTabsScreen Value List<sup>4.9.0</sup>
737- 
738-| Name | Description | Type | Required | Platform | HarmonyOS Support |
739-| -------------------------------- | ------------------------------------------------ | ------------------------------------------- | -------- | ------------ | ----------------- |
740-| `tabKey` | Unique identifier for tab page (required) | `string` | **Yes** | Android, iOS | No |
741-| `title` | Tab page title | `string` | No | Android, iOS | No |
742-| `isFocused` | Focused tab page | `boolean` | No | Android, iOS | No |
743-| `badgeValue` | Tab page badge text | `string` | No | Android, iOS | No |
744-| `orientation` | Screen orientation of tab page | `BottomTabsScreenOrientation` | No | iOS | No |
745-| `iconImageSource` | Normal icon resource for tab | `ImageSourcePropType` | No | Android, iOS | No |
746-| `selectedIconImageSource` | Selected icon resource for tab | `ImageSourcePropType` | No | Android, iOS | No |
747-| `tabBarItemBadgeTextColor` | Tab item badge text color | `ColorValue` | No | Android | No |
748-| `tabBarItemBadgeBackgroundColor` | Tab item badge background color | `ColorValue` | No | Android, iOS | No |
749-| `systemItem` | System icon type used by tab item | `BottomTabsSystemItem` | No | iOS | No |
750-| `tabBarBlurEffect` | Tab bar blur effect | `BottomTabsScreenBlurEffect` | No | iOS | No |
751-| `standardAppearance` | Single tab custom properties, aligned with iOS | `BottomTabsScreenAppearance` | No | iOS | No |
752-| `onWillAppear` | Triggered when page is about to enter foreground and become visible | `BottomTabsScreenEventHandler<EmptyObject>` | No | Android, iOS | No |
753-| `onDidAppear` | Triggered after page is fully displayed and enters foreground | `BottomTabsScreenEventHandler<EmptyObject>` | No | Android, iOS | No |
754-| `onWillDisappear` | Triggered when page is about to leave foreground and become invisible (but not yet disappeared) | `BottomTabsScreenEventHandler<EmptyObject>` | No | Android, iOS | No |
755-| `onDidDisappear` | Triggered after page is completely invisible (exited foreground) | `BottomTabsScreenEventHandler<EmptyObject>` | No | Android, iOS | No |
756- 
757----------------------------------------------------------512----------------------------------------------------------
758 513 
759Below are the basic props of the community version of react-native-screens, all of which have been verified. For more details on additional props, refer to the react-native-screens documentation at https://reactnavigation.org/docs/screen. This usage scenario will no longer be maintained in subsequent releases.514Below are the basic props of the community version of react-native-screens, all of which have been verified. For more details on additional props, refer to the react-native-screens documentation at https://reactnavigation.org/docs/screen. This usage scenario will no longer be maintained in subsequent releases.
@@ -797,7 +552,6 @@ Below are the basic props of the community version of react-native-screens, all
797| backTitle | Title to display in the back button. | property | No | iOS Android | Yes |552| backTitle | Title to display in the back button. | property | No | iOS Android | Yes |
798| backTitleFontSize | Allows for customizing font size to be used for back button title | property | No | iOS Android | Yes |553| backTitleFontSize | Allows for customizing font size to be used for back button title | property | No | iOS Android | Yes |
799| backTitleVisible | Whether the back button title should be visible or nots | property | No | iOS Android | Yes |554| backTitleVisible | Whether the back button title should be visible or nots | property | No | iOS Android | Yes |
800-| backTitleVisible<sup>4.8.1</sup> | Whether the back button title should be visible or nots | property | No | iOS Android | No |
801| title | String that can be displayed in the header as a fallback for `headerTitle` | property | No | iOS Android | Yes |555| title | String that can be displayed in the header as a fallback for `headerTitle` | property | No | iOS Android | Yes |
802| titleFontSize | Customize the size of the font to be used for the title. | property | No | iOS Android | Yes |556| titleFontSize | Customize the size of the font to be used for the title. | property | No | iOS Android | Yes |
803| titleFontWeight | Customize the weight of the font to be used for the title. | property | No | iOS Android | Yes |557| titleFontWeight | Customize the weight of the font to be used for the title. | property | No | iOS Android | Yes |
@@ -817,45 +571,16 @@ Below are the basic props of the community version of react-native-screens, all
817| onOpen | A callback that gets called when search bar is opened | function | No | iOS Android | Yes |571| onOpen | A callback that gets called when search bar is opened | function | No | iOS Android | Yes |
818| headerIconColor | The search and close icon color shown in the header | property | No | iOS Android | Yes |572| headerIconColor | The search and close icon color shown in the header | property | No | iOS Android | Yes |
819| shouldShowHintSearchIcon | Show the search hint icon when search bar is focused | property | No | iOS Android | Yes |573| shouldShowHintSearchIcon | Show the search hint icon when search bar is focused | property | No | iOS Android | Yes |
820-| blurEffect<sup>4.8.1</sup> | Blur effect to be applied to the header. | property | No | iOS | Yes |
821-| tintColor<sup>4.8.1</sup> | The color for the cursor caret and cancel button text | property | No | iOS | Yes |
822-| color<sup>4.8.1</sup> | Controls the color of items rendered on the header. This includes back icon, back text (iOS only) and title text. If you want the title to have different color use titleColor property. | property | No | iOS Android | Yes |
823-| hideWhenScrolling<sup>4.8.1</sup> | Boolean indicating whether to hide the search bar when scrolling. Defaults to `true`. | property | No | iOS | No |
824-| largeTitle<sup>4.8.1</sup> | When set to `true`, it makes the title display using the large title effect. | property | No | iOS | No |
825-| largeTitleFontFamily<sup>4.8.1</sup> | Customize font family to be used for the large title. | property | No | iOS | No |
826-| largeTitleFontSize<sup>4.8.1</sup> | Customize the size of the font to be used for the large title. | property | No | iOS | No |
827-| largeTitleFontWeight<sup>4.8.1</sup> | Customize the weight of the font to be used for the large title. | property | No | iOS | No |
828-| largeTitleHideShadow<sup>4.8.1</sup> | Boolean that allows for disabling drop shadow under navigation header when the edge of any scrollable content reaches the matching edge of the navigation bar. | property | No | iOS | No |
829-| largeTitleColor<sup>4.8.1</sup> | Customize the color to be used for the large title. By default uses the `titleColor` property. | property | No | iOS | No |
830-| autoCapitalize<sup>4.8.1</sup> | Controls whether the text is automatically auto-capitalized as it is entered by the user. | property | No | iOS Android | No |
831-| placement<sup>4.8.1</sup> | Placement of the search bar in the navigation bar. | property | No | iOS | No |
832-| obscureBackground<sup>4.8.1</sup> | Boolean indicating whether to obscure the underlying content with semi-transparent overlay. Defaults to `true`. | property | No | iOS | No |
833-| hideNavigationBar<sup>4.8.1</sup> | Boolean indicating whether to hide the navigation bar during searching. Defaults to `true`. | property | No | iOS | No |
834-| disableBackButtonOverride<sup>4.8.1</sup> | Default behavior is to prevent screen from going back when search bar is open (`disableBackButtonOverride: false`). If you don't want this to happen set `disableBackButtonOverride` to `true`. | property | No | Android | No |
835-| customAnimationOnSwipe<sup>4.8.1</sup> | Boolean indicating that swipe dismissal should trigger animation provided by `stackAnimation`. Defaults to `false`. | property | No | iOS | No |
836-| fullScreenSwipeShadowEnabled<sup>4.8.1</sup> | Boolean indicating whether the full screen dismiss gesture has shadow under view during transition. The gesture uses custom transition and thus doesn't have a shadow by default. When enabled, a custom shadow view is added during the transition which tries to mimic the default iOS shadow. Defaults to `true`. | property | No | iOS | No |
837-| homeIndicatorHidden<sup>4.8.1</sup> | Whether the home indicator should be hidden on this screen. Defaults to `false`. | property | No | iOS | No |
838-| statusBarAnimation<sup>4.8.1</sup> | Sets the status bar animation (similar to the `StatusBar` component). Requires enabling (or deleting) `View controller-based status bar appearance` in your Info.plist file. On Android, this prop considers the transition of changing status bar color . There will be no animation if `none` provided. | property | No | iOS Android | No |
839-| transitionDuration<sup>4.8.1</sup> | Changes the duration (in milliseconds) of `slide_from_bottom`, `fade_from_bottom`, `fade` and `simple_push` transitions on iOS. Defaults to `500`. The duration of `default` and `flip` transitions isn't customizable. | property | No | iOS | No |
840-| hideKeyboardOnSwipe<sup>4.8.1</sup> | Whether the keyboard should hide when swiping to the previous screen. Defaults to `false`. | property | No | iOS | No |
841-| disableBackButtonMenu<sup>4.8.1</sup> | Boolean indicating whether to show the menu on longPress of iOS >= 14 back button. | property | No | iOS | No |
842-| backButtonDisplayMode<sup>4.8.1</sup> | Enum value indicating display mode of **default** back button. It works on iOS >= 14, and is used only when none of: `backTitleFontFamily`, `backTitleFontSize`, `disableBackButtonMenu` or `backTitle` is set. Otherwise, when the button is customized, under the hood we use iOS native `backButtonItem` which overrides `backButtonDisplayMode`. | property | No | iOS | No |
843-| backButtonInCustomView<sup>4.8.1</sup> | Whether to show the back button with a custom left side of the header. | property | No | iOS | No |
844| direction | Controls whether the stack should be in `rtl` or `ltr` form. | property | No | iOS Android | No |574| direction | Controls whether the stack should be in `rtl` or `ltr` form. | property | No | iOS Android | No |
cpf-manager
cpf-managercpf-manager22 天前

【AI-Review】【一般】【基础代码问题】【代码逻辑错误】README-en.md详情区缺少transitionDuration属性行

● 问题: README-en.md 第606行(shouldShowHintSearchIcon)与第607行(direction)之间缺少 transitionDuration 属性行。对比 README.md 第609行,中文版详情区保留了 transitionDuration 行(| transitionDuration | 更改iOS上... | property | No | iOS | No |),而英文版详情区无此行。从 diff 可知,英文版旧版该行带有 <sup>4.8.1</sup> 版本标签被本 PR 删除,中文版该行无版本标签被保留,导致中英文详情区属性列表内容不对齐。

● 影响: 一般。英文用户在详情区看不到 transitionDuration 属性的说明,与中文文档内容不一致,影响文档完整性与中英文一致性。该属性在上方主表格中已有列出(第420行),因此不会导致属性完全缺失,但详情区作为社区版属性汇总缺少该行属于文档内容遗漏。

● 建议: 在 README-en.md 第606行后补充 transitionDuration 行,与中文版保持一致:| transitionDuration | Changes the duration (in milliseconds) of \slide_from_bottom`, `fade_from_bottom`, `fade`, and `simple_push` transitions on iOS, defaults to `500` | property | No | iOS | No |`

likedislike
845-| topInsetEnabled<sup>4.8.1</sup> | A flag to that lets you opt out of insetting the header. You may want to set this to `false` if you use an opaque status bar. Defaults to `true`. | property | No | Android | No |
846 575 
847</details>576</details>
848 577 
849-## 5. Known Issues578+## Known Issues
850 579 
851- [ ] The formSheet page is currently using a regular page, and the Context.openBindSheet system method used on this page has a misalignment of the binding position of the JS page, resulting in unresponsive button events. Need to be supplemented after system correction. [issue#4](https://github.com/react-native-oh-library/react-native-harmony-screens/issues/4)580- [ ] The formSheet page is currently using a regular page, and the Context.openBindSheet system method used on this page has a misalignment of the binding position of the JS page, resulting in unresponsive button events. Need to be supplemented after system correction. [issue#4](https://github.com/react-native-oh-library/react-native-harmony-screens/issues/4)
852 581 
853- [ ] RNSScreenFooter depends on formSheet. This function needs to be added after the formSheet function is implemented. [issue#28](https://github.com/react-native-oh-library/react-native-harmony-screens/issues/28)582- [ ] RNSScreenFooter depends on formSheet. This function needs to be added after the formSheet function is implemented. [issue#28](https://github.com/react-native-oh-library/react-native-harmony-screens/issues/28)
854 583 
855-- [ ] GestureDetectorProvider cannot be referenced in the 77 environment according to the original library reference method, and requires system framework positioning processing。 [issue#29](https://github.com/react-native-oh-library/react-native-harmony-screens/issues/29)
856- 
857-- [ ] When different properties are set in Option in Screen and its subcomponents, the properties received by ETS side in 77 environment are lost. System framework positioning processing is required. [issue#30](https://github.com/react-native-oh-library/react-native-harmony-screens/issues/30)
858- 
859- [ ] sheetInitialDetent: Index of the detent the sheet should expand to after being opened. Attributes of the formsheet function. Not implemented584- [ ] sheetInitialDetent: Index of the detent the sheet should expand to after being opened. Attributes of the formsheet function. Not implemented
860- [ ] sheetElevation: Integer value describing elevation of the sheet, impacting shadow on the top edge of the sheet.Attributes of the formsheet function. Not implemented585- [ ] sheetElevation: Integer value describing elevation of the sheet, impacting shadow on the top edge of the sheet.Attributes of the formsheet function. Not implemented
861- [ ] sheetAllowedDetents: Describes heights where a sheet can rest. Attributes of the formsheet function. Not implemented586- [ ] sheetAllowedDetents: Describes heights where a sheet can rest. Attributes of the formsheet function. Not implemented
@@ -864,10 +589,46 @@ Below are the basic props of the community version of react-native-screens, all
864- [ ] sheetCornerRadius: The corner radius that the sheet will try to render with. Attributes of the formsheet function. Not implemented589- [ ] sheetCornerRadius: The corner radius that the sheet will try to render with. Attributes of the formsheet function. Not implemented
865- [ ] sheetExpandsWhenScrolledToEdge: Whether the sheet should expand to larger detent when scrolling. Attributes of the formsheet function. Not implemented590- [ ] sheetExpandsWhenScrolledToEdge: Whether the sheet should expand to larger detent when scrolling. Attributes of the formsheet function. Not implemented
866- [ ] onSheetDetentChanged: A callback that gets called when the current screen is in `formSheet` presentation and its detent has changed. Callback for formsheet function. Not implemented591- [ ] onSheetDetentChanged: A callback that gets called when the current screen is in `formSheet` presentation and its detent has changed. Callback for formsheet function. Not implemented
867-- [ ] scrollEdgeEffects,BottomTabThe current architecture is not supported. Not implemented592+- [ ] scrollEdgeEffects, BottomTabs current architecture is not supported. Not implemented
868 593 
869-## 6. Others594+## Others
870 595 
871-## 7. License596+## Directory Structure
872 597 
873-This project is licensed under [The MIT License (MIT)](https://github.com/software-mansion/react-native-screens/blob/main/LICENSE).598+````
599+/rntpc_react-native-screens # Project root
600+├── react-native-harmony-screens # HarmonyOS adapted npm package
601+│ ├── harmony # HarmonyOS native code
602+│ │ └── screens.har # har package
603+│ ├── src # RN side TS source
604+│ │ ├── components # RN components (Screen, ScreenContainer, ScreenStack, etc.)
605+│ │ ├── native-stack/views # native-stack related views
606+│ │ ├── specs # Codegen generated native component specs
607+│ │ ├── core.ts # Core logic
608+│ │ ├── index.ts # Entry file
609+│ │ └── utils.ts # Utility functions
610+│ ├── scripts # Build/publish scripts
611+│ ├── package.json
612+│ └── tsconfig.json
613+├── tester # Test project
614+│ ├── harmony # HarmonyOS test project
615+│ │ ├── entry # App entry module
616+│ │ └── screens # HarmonyOS adapted source (ArkTS + CPP)
617+│ │ └── src/main
618+│ │ ├── cpp # C++ side (Package, JSIBinder, TurboModule)
619+│ │ └── ets # ArkTS side (components, animations, Package)
620+│ ├── apps/src # Test cases
621+│ ├── android # Android test project
622+│ └── package.json
623+├── README.md # Chinese installation and usage guide
624+├── README_en.md # English installation and usage guide
625+└── LICENSE # Open source license
626+````
627+ 
628+## Contributing
629+ 
630+If you encounter any issues during use, feel free to submit an [Issue](https://gitcode.com/CPF-RN/rntpc_react-native-screens/issues). PRs are also very welcome at [PR](https://gitcode.com/CPF-RN/rntpc_react-native-screens/pulls).
631+ 
632+## License
633+ 
634+This project is licensed under [The MIT License (MIT)](https://github.com/software-mansion/react-native-screens/blob/main/LICENSE). Feel free to enjoy and contribute to open source.