[
{
"table_index": 1,
"rows": [
{
"Android 组件": "TextView",
"类名": "`android.widget.TextView`",
"HarmonyOS 组件": "`Text`",
"替代方案": "直接映射",
"说明": "文本显示,支持富文本、样式设置"
},
{
"Android 组件": "EditText",
"类名": "`android.widget.EditText`",
"HarmonyOS 组件": "`TextInput` / `TextArea`",
"替代方案": "单行用 TextInput,多行用 TextArea",
"说明": "文本输入框"
},
{
"Android 组件": "AutoCompleteTextView",
"类名": "`android.widget.AutoCompleteTextView`",
"HarmonyOS 组件": "`Search` / `Select`",
"替代方案": "组合实现",
"说明": "自动完成文本输入"
},
{
"Android 组件": "MultiAutoCompleteTextView",
"类名": "`android.widget.MultiAutoCompleteTextView`",
"HarmonyOS 组件": "自定义组合",
"替代方案": "Select + 标签显示",
"说明": "多段自动完成文本输入"
},
{
"Android 组件": "CheckedTextView",
"类名": "`android.widget.CheckedTextView`",
"HarmonyOS 组件": "`Row` + `Checkbox` + `Text`",
"替代方案": "组合实现",
"说明": "带选中状态的文本视图"
},
{
"Android 组件": "TextSwitcher",
"类名": "`android.widget.TextSwitcher`",
"HarmonyOS 组件": "`Swiper`",
"替代方案": "配合文本内容",
"说明": "文本切换动画容器"
},
{
"Android 组件": "ExtractEditText",
"类名": "`android.widget.ExtractEditText`",
"HarmonyOS 组件": "`TextArea`",
"替代方案": "临时编辑场景",
"说明": "输入法提取编辑框"
},
{
"Android 组件": "Chronometer",
"类名": "`android.widget.Chronometer`",
"HarmonyOS 组件": "`Text` + 定时器",
"替代方案": "自定义实现",
"说明": "计时器显示"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"TextView",
"`android.widget.TextView`",
"`Text`",
"直接映射",
"文本显示,支持富文本、样式设置"
],
[
"EditText",
"`android.widget.EditText`",
"`TextInput` / `TextArea`",
"单行用 TextInput,多行用 TextArea",
"文本输入框"
],
[
"AutoCompleteTextView",
"`android.widget.AutoCompleteTextView`",
"`Search` / `Select`",
"组合实现",
"自动完成文本输入"
],
[
"MultiAutoCompleteTextView",
"`android.widget.MultiAutoCompleteTextView`",
"自定义组合",
"Select + 标签显示",
"多段自动完成文本输入"
],
[
"CheckedTextView",
"`android.widget.CheckedTextView`",
"`Row` + `Checkbox` + `Text`",
"组合实现",
"带选中状态的文本视图"
],
[
"TextSwitcher",
"`android.widget.TextSwitcher`",
"`Swiper`",
"配合文本内容",
"文本切换动画容器"
],
[
"ExtractEditText",
"`android.widget.ExtractEditText`",
"`TextArea`",
"临时编辑场景",
"输入法提取编辑框"
],
[
"Chronometer",
"`android.widget.Chronometer`",
"`Text` + 定时器",
"自定义实现",
"计时器显示"
]
]
},
{
"table_index": 2,
"rows": [
{
"Android XML": "`android:text`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "String",
"代码示例": "Android: `android:text=\"Hello\"`<br/>HarmonyOS: `Text('Hello')`"
},
{
"Android XML": "`android:hint`",
"HarmonyOS 属性": "`.placeholder()`",
"类型转换": "String",
"代码示例": "Android: `android:hint=\"Enter text\"`<br/>HarmonyOS: `Text('').placeholder('Enter text')`"
},
{
"Android XML": "`android:textColor`",
"HarmonyOS 属性": "`.fontColor()`",
"类型转换": "Color → ResourceColor",
"代码示例": "Android: `android:textColor=\"#FF0000\"`<br/>HarmonyOS: `Text('Hello').fontColor('#FF0000')`"
},
{
"Android XML": "`android:textColorHint`",
"HarmonyOS 属性": "`.placeholderColor()`",
"类型转换": "Color → ResourceColor",
"代码示例": "Android: `android:textColorHint=\"#AAAAAA\"`<br/>HarmonyOS: `Text('').placeholderColor('#AAAAAA')`"
},
{
"Android XML": "`android:textColorHighlight`",
"HarmonyOS 属性": "`.selectionBackgroundColor()`",
"类型转换": "Color → ResourceColor",
"代码示例": "Android: `android:textColorHighlight=\"#FFFF00\"`<br/>HarmonyOS: `Text('Hello').selectionBackgroundColor('#FFFF00')`"
},
{
"Android XML": "`android:textColorLink`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用 SpanString 设置链接颜色"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:text`",
"构造函数参数",
"String",
"Android: `android:text=\"Hello\"`<br/>HarmonyOS: `Text('Hello')`"
],
[
"`android:hint`",
"`.placeholder()`",
"String",
"Android: `android:hint=\"Enter text\"`<br/>HarmonyOS: `Text('').placeholder('Enter text')`"
],
[
"`android:textColor`",
"`.fontColor()`",
"Color → ResourceColor",
"Android: `android:textColor=\"#FF0000\"`<br/>HarmonyOS: `Text('Hello').fontColor('#FF0000')`"
],
[
"`android:textColorHint`",
"`.placeholderColor()`",
"Color → ResourceColor",
"Android: `android:textColorHint=\"#AAAAAA\"`<br/>HarmonyOS: `Text('').placeholderColor('#AAAAAA')`"
],
[
"`android:textColorHighlight`",
"`.selectionBackgroundColor()`",
"Color → ResourceColor",
"Android: `android:textColorHighlight=\"#FFFF00\"`<br/>HarmonyOS: `Text('Hello').selectionBackgroundColor('#FFFF00')`"
],
[
"`android:textColorLink`",
"无直接对应",
"需自定义实现",
"使用 SpanString 设置链接颜色"
]
]
},
{
"table_index": 3,
"rows": [
{
"Android XML": "`android:textSize`",
"HarmonyOS 属性": "`.fontSize()`",
"类型转换": "sp → fp",
"代码示例": "Android: `android:textSize=\"16sp\"`<br/>HarmonyOS: `Text('Hello').fontSize(16)`"
},
{
"Android XML": "`android:textScaleX`",
"HarmonyOS 属性": "`.letterSpacing()`",
"类型转换": "float (不同行为)",
"代码示例": "Android: `android:textScaleX=\"1.2\"`<br/>HarmonyOS: `Text('Hello').letterSpacing(0.2)`"
},
{
"Android XML": "`android:lineSpacingExtra`",
"HarmonyOS 属性": "`.lineHeight()`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:lineSpacingExtra=\"8dp\"`<br/>HarmonyOS: `Text('Hello').lineHeight({ extra: 8 })`"
},
{
"Android XML": "`android:lineSpacingMultiplier`",
"HarmonyOS 属性": "`.lineHeight()`",
"类型转换": "float (需转换)",
"代码示例": "Android: `android:lineSpacingMultiplier=\"1.5\"`<br/>HarmonyOS: `Text('Hello').lineHeight({ multiplier: 1.5 })`"
},
{
"Android XML": "`android:letterSpacing`",
"HarmonyOS 属性": "`.letterSpacing()`",
"类型转换": "float",
"代码示例": "Android: `android:letterSpacing=\"0.1\"`<br/>HarmonyOS: `Text('Hello').letterSpacing(0.1)`"
},
{
"Android XML": "`android:ems`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需计算宽度",
"代码示例": "使用 `.width()` 根据字符数计算"
},
{
"Android XML": "`android:maxEms`",
"HarmonyOS 属性": "`.constraintSize()`",
"类型转换": "需计算宽度",
"代码示例": "Android: `android:maxEms=\"10\"`<br/>HarmonyOS: `Text('Hello').constraintSize({ maxWidth: 200 })`"
},
{
"Android XML": "`android:minEms`",
"HarmonyOS 属性": "`.constraintSize()`",
"类型转换": "需计算宽度",
"代码示例": "Android: `android:minEms=\"5\"`<br/>HarmonyOS: `Text('Hello').constraintSize({ minWidth: 100 })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:textSize`",
"`.fontSize()`",
"sp → fp",
"Android: `android:textSize=\"16sp\"`<br/>HarmonyOS: `Text('Hello').fontSize(16)`"
],
[
"`android:textScaleX`",
"`.letterSpacing()`",
"float (不同行为)",
"Android: `android:textScaleX=\"1.2\"`<br/>HarmonyOS: `Text('Hello').letterSpacing(0.2)`"
],
[
"`android:lineSpacingExtra`",
"`.lineHeight()`",
"dp → vp",
"Android: `android:lineSpacingExtra=\"8dp\"`<br/>HarmonyOS: `Text('Hello').lineHeight({ extra: 8 })`"
],
[
"`android:lineSpacingMultiplier`",
"`.lineHeight()`",
"float (需转换)",
"Android: `android:lineSpacingMultiplier=\"1.5\"`<br/>HarmonyOS: `Text('Hello').lineHeight({ multiplier: 1.5 })`"
],
[
"`android:letterSpacing`",
"`.letterSpacing()`",
"float",
"Android: `android:letterSpacing=\"0.1\"`<br/>HarmonyOS: `Text('Hello').letterSpacing(0.1)`"
],
[
"`android:ems`",
"无直接对应",
"需计算宽度",
"使用 `.width()` 根据字符数计算"
],
[
"`android:maxEms`",
"`.constraintSize()`",
"需计算宽度",
"Android: `android:maxEms=\"10\"`<br/>HarmonyOS: `Text('Hello').constraintSize({ maxWidth: 200 })`"
],
[
"`android:minEms`",
"`.constraintSize()`",
"需计算宽度",
"Android: `android:minEms=\"5\"`<br/>HarmonyOS: `Text('Hello').constraintSize({ minWidth: 100 })`"
]
]
},
{
"table_index": 4,
"rows": [
{
"Android XML": "`android:textStyle`",
"HarmonyOS 属性": "`.fontWeight()` / `.fontStyle()`",
"类型转换": "enum → enum",
"代码示例": "Android: `android:textStyle=\"bold\"`<br/>HarmonyOS: `Text('Hello').fontWeight(FontWeight.Bold)`"
},
{
"Android XML": "`android:fontFamily`",
"HarmonyOS 属性": "`.fontFamily()`",
"类型转换": "String → String",
"代码示例": "Android: `android:fontFamily=\"sans-serif\"`<br/>HarmonyOS: `Text('Hello').fontFamily('sans-serif')`"
},
{
"Android XML": "`android:textAllCaps`",
"HarmonyOS 属性": "`.textCase()` 或手动转换",
"类型转换": "boolean → TextCase",
"代码示例": "Android: `android:textAllCaps=\"true\"`<br/>HarmonyOS: `Text('hello').textCase(TextCase.Upper)`"
},
{
"Android XML": "`android:textLocale`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需设置语言环境",
"代码示例": "使用系统语言环境"
},
{
"Android XML": "`android:fontFeatureSettings`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用字体特性 API"
},
{
"Android XML": "`android:fontVariationSettings`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用字体变体 API"
},
{
"Android XML": "`android:textFontWeight`",
"HarmonyOS 属性": "`.fontWeight()`",
"类型转换": "int → FontWeight",
"代码示例": "Android: `android:textFontWeight=\"700\"`<br/>HarmonyOS: `Text('Hello').fontWeight(FontWeight.Bold)`"
},
{
"Android XML": "`android:lineHeight`",
"HarmonyOS 属性": "`.lineHeight()`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:lineHeight=\"24dp\"`<br/>HarmonyOS: `Text('Hello').lineHeight(24)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:textStyle`",
"`.fontWeight()` / `.fontStyle()`",
"enum → enum",
"Android: `android:textStyle=\"bold\"`<br/>HarmonyOS: `Text('Hello').fontWeight(FontWeight.Bold)`"
],
[
"`android:fontFamily`",
"`.fontFamily()`",
"String → String",
"Android: `android:fontFamily=\"sans-serif\"`<br/>HarmonyOS: `Text('Hello').fontFamily('sans-serif')`"
],
[
"`android:textAllCaps`",
"`.textCase()` 或手动转换",
"boolean → TextCase",
"Android: `android:textAllCaps=\"true\"`<br/>HarmonyOS: `Text('hello').textCase(TextCase.Upper)`"
],
[
"`android:textLocale`",
"无直接对应",
"需设置语言环境",
"使用系统语言环境"
],
[
"`android:fontFeatureSettings`",
"无直接对应",
"需自定义实现",
"使用字体特性 API"
],
[
"`android:fontVariationSettings`",
"无直接对应",
"需自定义实现",
"使用字体变体 API"
],
[
"`android:textFontWeight`",
"`.fontWeight()`",
"int → FontWeight",
"Android: `android:textFontWeight=\"700\"`<br/>HarmonyOS: `Text('Hello').fontWeight(FontWeight.Bold)`"
],
[
"`android:lineHeight`",
"`.lineHeight()`",
"dp → vp",
"Android: `android:lineHeight=\"24dp\"`<br/>HarmonyOS: `Text('Hello').lineHeight(24)`"
]
]
},
{
"table_index": 5,
"rows": [
{
"Android XML": "`android:gravity`",
"HarmonyOS 属性": "`.textAlign()`",
"类型转换": "Gravity → TextAlign",
"代码示例": "Android: `android:gravity=\"center\"`<br/>HarmonyOS: `Text('Hello').textAlign(TextAlign.Center)`"
},
{
"Android XML": "`android:textAlignment`",
"HarmonyOS 属性": "`.textAlign()`",
"类型转换": "TextAlignment → TextAlign",
"代码示例": "Android: `android:textAlignment=\"center\"`<br/>HarmonyOS: `Text('Hello').textAlign(TextAlign.Center)`"
},
{
"Android XML": "`android:textDirection`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需设置布局方向",
"代码示例": "使用 `.direction()`"
},
{
"Android XML": "`android:justificationMode`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用文本对齐 API"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:gravity`",
"`.textAlign()`",
"Gravity → TextAlign",
"Android: `android:gravity=\"center\"`<br/>HarmonyOS: `Text('Hello').textAlign(TextAlign.Center)`"
],
[
"`android:textAlignment`",
"`.textAlign()`",
"TextAlignment → TextAlign",
"Android: `android:textAlignment=\"center\"`<br/>HarmonyOS: `Text('Hello').textAlign(TextAlign.Center)`"
],
[
"`android:textDirection`",
"无直接对应",
"需设置布局方向",
"使用 `.direction()`"
],
[
"`android:justificationMode`",
"无直接对应",
"需自定义实现",
"使用文本对齐 API"
]
]
},
{
"table_index": 6,
"rows": [
{
"Android XML": "`android:maxLines`",
"HarmonyOS 属性": "`.maxLines()`",
"类型转换": "int → int",
"代码示例": "Android: `android:maxLines=\"2\"`<br/>HarmonyOS: `Text('Hello').maxLines(2)`"
},
{
"Android XML": "`android:minLines`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用高度约束"
},
{
"Android XML": "`android:lines`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用高度约束"
},
{
"Android XML": "`android:singleLine`",
"HarmonyOS 属性": "使用 TextInput",
"类型转换": "boolean → 组件选择",
"代码示例": "Android: `android:singleLine=\"true\"`<br/>HarmonyOS: 使用 TextInput 而非 TextArea"
},
{
"Android XML": "`android:ellipsize`",
"HarmonyOS 属性": "`.textOverflow()`",
"类型转换": "TruncateAt → TextOverflow",
"代码示例": "Android: `android:ellipsize=\"end\"`<br/>HarmonyOS: `Text('Hello').textOverflow({ overflow: TextOverflow.Ellipsis })`"
},
{
"Android XML": "`android:marqueeRepeatLimit`",
"HarmonyOS 属性": "`.textOverflow()`",
"类型转换": "int → Marquee",
"代码示例": "Android: `android:marqueeRepeatLimit=\"3\"`<br/>HarmonyOS: `Text('Hello').textOverflow({ overflow: TextOverflow.Marquee })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:maxLines`",
"`.maxLines()`",
"int → int",
"Android: `android:maxLines=\"2\"`<br/>HarmonyOS: `Text('Hello').maxLines(2)`"
],
[
"`android:minLines`",
"无直接对应",
"需自定义实现",
"使用高度约束"
],
[
"`android:lines`",
"无直接对应",
"需自定义实现",
"使用高度约束"
],
[
"`android:singleLine`",
"使用 TextInput",
"boolean → 组件选择",
"Android: `android:singleLine=\"true\"`<br/>HarmonyOS: 使用 TextInput 而非 TextArea"
],
[
"`android:ellipsize`",
"`.textOverflow()`",
"TruncateAt → TextOverflow",
"Android: `android:ellipsize=\"end\"`<br/>HarmonyOS: `Text('Hello').textOverflow({ overflow: TextOverflow.Ellipsis })`"
],
[
"`android:marqueeRepeatLimit`",
"`.textOverflow()`",
"int → Marquee",
"Android: `android:marqueeRepeatLimit=\"3\"`<br/>HarmonyOS: `Text('Hello').textOverflow({ overflow: TextOverflow.Marquee })`"
]
]
},
{
"table_index": 7,
"rows": [
{
"Android XML": "`android:textIsSelectable`",
"HarmonyOS 属性": "`.copyOption()`",
"类型转换": "boolean → CopyOptions",
"代码示例": "Android: `android:textIsSelectable=\"true\"`<br/>HarmonyOS: `Text('Hello').copyOption(CopyOptions.InApp)`"
},
{
"Android XML": "`android:selectable`",
"HarmonyOS 属性": "`.copyOption()`",
"类型转换": "boolean → CopyOptions",
"代码示例": "Android: `android:selectable=\"true\"`<br/>HarmonyOS: `Text('Hello').copyOption(CopyOptions.InApp)`"
},
{
"Android XML": "`android:selectAllOnFocus`",
"HarmonyOS 属性": "`.selectAll()`",
"类型转换": "boolean → 方法调用",
"代码示例": "Android: `android:selectAllOnFocus=\"true\"`<br/>HarmonyOS: `TextInput().onFocus(() => { textInput.selectAll() })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:textIsSelectable`",
"`.copyOption()`",
"boolean → CopyOptions",
"Android: `android:textIsSelectable=\"true\"`<br/>HarmonyOS: `Text('Hello').copyOption(CopyOptions.InApp)`"
],
[
"`android:selectable`",
"`.copyOption()`",
"boolean → CopyOptions",
"Android: `android:selectable=\"true\"`<br/>HarmonyOS: `Text('Hello').copyOption(CopyOptions.InApp)`"
],
[
"`android:selectAllOnFocus`",
"`.selectAll()`",
"boolean → 方法调用",
"Android: `android:selectAllOnFocus=\"true\"`<br/>HarmonyOS: `TextInput().onFocus(() => { textInput.selectAll() })`"
]
]
},
{
"table_index": 8,
"rows": [
{
"Android XML": "`android:textAppearance`",
"HarmonyOS 属性": "@Styles",
"类型转换": "@style → @Styles",
"代码示例": "Android: `android:textAppearance=\"@style/TextAppearance\"`<br/>HarmonyOS: 使用 `@Styles` 装饰器"
},
{
"Android XML": "`android:shadowColor`",
"HarmonyOS 属性": "`.shadow()`",
"类型转换": "Color → shadow",
"代码示例": "Android: `android:shadowColor=\"#80000000\"`<br/>HarmonyOS: `Text('Hello').shadow({ color: '#80000000', radius: 4 })`"
},
{
"Android XML": "`android:shadowDx`",
"HarmonyOS 属性": "`.shadow()`",
"类型转换": "float → shadow.offsetX",
"代码示例": "Android: `android:shadowDx=\"2\"`<br/>HarmonyOS: `Text('Hello').shadow({ offsetX: 2, offsetY: 2, radius: 4 })`"
},
{
"Android XML": "`android:shadowDy`",
"HarmonyOS 属性": "`.shadow()`",
"类型转换": "float → shadow.offsetY",
"代码示例": "Android: `android:shadowDy=\"2\"`<br/>HarmonyOS: `Text('Hello').shadow({ offsetX: 2, offsetY: 2, radius: 4 })`"
},
{
"Android XML": "`android:shadowRadius`",
"HarmonyOS 属性": "`.shadow()`",
"类型转换": "float → shadow.radius",
"代码示例": "Android: `android:shadowRadius=\"4\"`<br/>HarmonyOS: `Text('Hello').shadow({ radius: 4 })`"
},
{
"Android XML": "`android:elegantTextHeight`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用字体渲染 API"
},
{
"Android XML": "`android:fallbackLineSpacing`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用行高设置"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:textAppearance`",
"@Styles",
"@style → @Styles",
"Android: `android:textAppearance=\"@style/TextAppearance\"`<br/>HarmonyOS: 使用 `@Styles` 装饰器"
],
[
"`android:shadowColor`",
"`.shadow()`",
"Color → shadow",
"Android: `android:shadowColor=\"#80000000\"`<br/>HarmonyOS: `Text('Hello').shadow({ color: '#80000000', radius: 4 })`"
],
[
"`android:shadowDx`",
"`.shadow()`",
"float → shadow.offsetX",
"Android: `android:shadowDx=\"2\"`<br/>HarmonyOS: `Text('Hello').shadow({ offsetX: 2, offsetY: 2, radius: 4 })`"
],
[
"`android:shadowDy`",
"`.shadow()`",
"float → shadow.offsetY",
"Android: `android:shadowDy=\"2\"`<br/>HarmonyOS: `Text('Hello').shadow({ offsetX: 2, offsetY: 2, radius: 4 })`"
],
[
"`android:shadowRadius`",
"`.shadow()`",
"float → shadow.radius",
"Android: `android:shadowRadius=\"4\"`<br/>HarmonyOS: `Text('Hello').shadow({ radius: 4 })`"
],
[
"`android:elegantTextHeight`",
"无直接对应",
"需自定义实现",
"使用字体渲染 API"
],
[
"`android:fallbackLineSpacing`",
"无直接对应",
"需自定义实现",
"使用行高设置"
]
]
},
{
"table_index": 9,
"rows": [
{
"Android XML": "`android:autoLink`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用 SpanString 或正则表达式"
},
{
"Android XML": "`android:linksClickable`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用 SpanString 设置点击事件"
},
{
"Android XML": "`android:includeFontPadding`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用行高调整"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:autoLink`",
"无直接对应",
"需自定义实现",
"使用 SpanString 或正则表达式"
],
[
"`android:linksClickable`",
"无直接对应",
"需自定义实现",
"使用 SpanString 设置点击事件"
],
[
"`android:includeFontPadding`",
"无直接对应",
"需自定义实现",
"使用行高调整"
]
]
},
{
"table_index": 10,
"rows": [
{
"Android XML": "`android:inputType`",
"HarmonyOS 属性": "`.type()`",
"类型转换": "InputType → InputType",
"代码示例": "Android: `android:inputType=\"text\"`<br/>HarmonyOS: `TextInput().type(InputType.Normal)`"
},
{
"Android XML": "`android:inputType=\"textPassword\"`",
"HarmonyOS 属性": "`.type()`",
"类型转换": "password → Password",
"代码示例": "Android: `android:inputType=\"textPassword\"`<br/>HarmonyOS: `TextInput().type(InputType.Password)`"
},
{
"Android XML": "`android:inputType=\"number\"`",
"HarmonyOS 属性": "`.type()`",
"类型转换": "number → Number",
"代码示例": "Android: `android:inputType=\"number\"`<br/>HarmonyOS: `TextInput().type(InputType.Number)`"
},
{
"Android XML": "`android:inputType=\"phone\"`",
"HarmonyOS 属性": "`.type()`",
"类型转换": "phone → PhoneNumber",
"代码示例": "Android: `android:inputType=\"phone\"`<br/>HarmonyOS: `TextInput().type(InputType.PhoneNumber)`"
},
{
"Android XML": "`android:inputType=\"email\"`",
"HarmonyOS 属性": "`.type()`",
"类型转换": "email → Email",
"代码示例": "Android: `android:inputType=\"textEmailAddress\"`<br/>HarmonyOS: `TextInput().type(InputType.Email)`"
},
{
"Android XML": "`android:inputType=\"textMultiLine\"`",
"HarmonyOS 属性": "使用 TextArea",
"类型转换": "multiLine → TextArea",
"代码示例": "Android: `android:inputType=\"textMultiLine\"`<br/>HarmonyOS: 使用 TextArea 组件"
},
{
"Android XML": "`android:maxLength`",
"HarmonyOS 属性": "`.maxLength()`",
"类型转换": "int → int",
"代码示例": "Android: `android:maxLength=\"100\"`<br/>HarmonyOS: `TextInput().maxLength(100)`"
},
{
"Android XML": "`android:password`",
"HarmonyOS 属性": "`.type()`",
"类型转换": "boolean → InputType",
"代码示例": "Android: `android:password=\"true\"`<br/>HarmonyOS: `TextInput().type(InputType.Password)`"
},
{
"Android XML": "`android:phoneNumber`",
"HarmonyOS 属性": "`.type()`",
"类型转换": "boolean → InputType",
"代码示例": "Android: `android:phoneNumber=\"true\"`<br/>HarmonyOS: `TextInput().type(InputType.PhoneNumber)`"
},
{
"Android XML": "`android:numeric`",
"HarmonyOS 属性": "`.type()`",
"类型转换": "enum → InputType",
"代码示例": "Android: `android:numeric=\"integer\"`<br/>HarmonyOS: `TextInput().type(InputType.Number)`"
},
{
"Android XML": "`android:digits`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用输入过滤器"
},
{
"Android XML": "`android:capitalize`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用文本转换"
},
{
"Android XML": "`android:autoText`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用输入法设置"
},
{
"Android XML": "`android:editable`",
"HarmonyOS 属性": "`.enabled()`",
"类型转换": "boolean → boolean",
"代码示例": "Android: `android:editable=\"false\"`<br/>HarmonyOS: `TextInput().enabled(false)`"
},
{
"Android XML": "`android:cursorVisible`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用光标 API"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:inputType`",
"`.type()`",
"InputType → InputType",
"Android: `android:inputType=\"text\"`<br/>HarmonyOS: `TextInput().type(InputType.Normal)`"
],
[
"`android:inputType=\"textPassword\"`",
"`.type()`",
"password → Password",
"Android: `android:inputType=\"textPassword\"`<br/>HarmonyOS: `TextInput().type(InputType.Password)`"
],
[
"`android:inputType=\"number\"`",
"`.type()`",
"number → Number",
"Android: `android:inputType=\"number\"`<br/>HarmonyOS: `TextInput().type(InputType.Number)`"
],
[
"`android:inputType=\"phone\"`",
"`.type()`",
"phone → PhoneNumber",
"Android: `android:inputType=\"phone\"`<br/>HarmonyOS: `TextInput().type(InputType.PhoneNumber)`"
],
[
"`android:inputType=\"email\"`",
"`.type()`",
"email → Email",
"Android: `android:inputType=\"textEmailAddress\"`<br/>HarmonyOS: `TextInput().type(InputType.Email)`"
],
[
"`android:inputType=\"textMultiLine\"`",
"使用 TextArea",
"multiLine → TextArea",
"Android: `android:inputType=\"textMultiLine\"`<br/>HarmonyOS: 使用 TextArea 组件"
],
[
"`android:maxLength`",
"`.maxLength()`",
"int → int",
"Android: `android:maxLength=\"100\"`<br/>HarmonyOS: `TextInput().maxLength(100)`"
],
[
"`android:password`",
"`.type()`",
"boolean → InputType",
"Android: `android:password=\"true\"`<br/>HarmonyOS: `TextInput().type(InputType.Password)`"
],
[
"`android:phoneNumber`",
"`.type()`",
"boolean → InputType",
"Android: `android:phoneNumber=\"true\"`<br/>HarmonyOS: `TextInput().type(InputType.PhoneNumber)`"
],
[
"`android:numeric`",
"`.type()`",
"enum → InputType",
"Android: `android:numeric=\"integer\"`<br/>HarmonyOS: `TextInput().type(InputType.Number)`"
],
[
"`android:digits`",
"无直接对应",
"需自定义实现",
"使用输入过滤器"
],
[
"`android:capitalize`",
"无直接对应",
"需自定义实现",
"使用文本转换"
],
[
"`android:autoText`",
"无直接对应",
"需自定义实现",
"使用输入法设置"
],
[
"`android:editable`",
"`.enabled()`",
"boolean → boolean",
"Android: `android:editable=\"false\"`<br/>HarmonyOS: `TextInput().enabled(false)`"
],
[
"`android:cursorVisible`",
"无直接对应",
"需自定义实现",
"使用光标 API"
]
]
},
{
"table_index": 11,
"rows": [
{
"Android XML": "`android:imeOptions`",
"HarmonyOS 属性": "`.enterKeyType()`",
"类型转换": "ImeOptions → EnterKeyType",
"代码示例": "Android: `android:imeOptions=\"actionDone\"`<br/>HarmonyOS: `TextInput().enterKeyType(EnterKeyType.Done)`"
},
{
"Android XML": "`android:imeOptions=\"actionNext\"`",
"HarmonyOS 属性": "`.enterKeyType()`",
"类型转换": "actionNext → Next",
"代码示例": "Android: `android:imeOptions=\"actionNext\"`<br/>HarmonyOS: `TextInput().enterKeyType(EnterKeyType.Next)`"
},
{
"Android XML": "`android:imeOptions=\"actionSearch\"`",
"HarmonyOS 属性": "`.enterKeyType()`",
"类型转换": "actionSearch → Search",
"代码示例": "Android: `android:imeOptions=\"actionSearch\"`<br/>HarmonyOS: `TextInput().enterKeyType(EnterKeyType.Search)`"
},
{
"Android XML": "`android:imeOptions=\"actionSend\"`",
"HarmonyOS 属性": "`.enterKeyType()`",
"类型转换": "actionSend → Send",
"代码示例": "Android: `android:imeOptions=\"actionSend\"`<br/>HarmonyOS: `TextInput().enterKeyType(EnterKeyType.Send)`"
},
{
"Android XML": "`android:imeActionLabel`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用键盘类型设置"
},
{
"Android XML": "`android:imeActionId`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用键盘类型设置"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:imeOptions`",
"`.enterKeyType()`",
"ImeOptions → EnterKeyType",
"Android: `android:imeOptions=\"actionDone\"`<br/>HarmonyOS: `TextInput().enterKeyType(EnterKeyType.Done)`"
],
[
"`android:imeOptions=\"actionNext\"`",
"`.enterKeyType()`",
"actionNext → Next",
"Android: `android:imeOptions=\"actionNext\"`<br/>HarmonyOS: `TextInput().enterKeyType(EnterKeyType.Next)`"
],
[
"`android:imeOptions=\"actionSearch\"`",
"`.enterKeyType()`",
"actionSearch → Search",
"Android: `android:imeOptions=\"actionSearch\"`<br/>HarmonyOS: `TextInput().enterKeyType(EnterKeyType.Search)`"
],
[
"`android:imeOptions=\"actionSend\"`",
"`.enterKeyType()`",
"actionSend → Send",
"Android: `android:imeOptions=\"actionSend\"`<br/>HarmonyOS: `TextInput().enterKeyType(EnterKeyType.Send)`"
],
[
"`android:imeActionLabel`",
"无直接对应",
"需自定义实现",
"使用键盘类型设置"
],
[
"`android:imeActionId`",
"无直接对应",
"需自定义实现",
"使用键盘类型设置"
]
]
},
{
"table_index": 12,
"rows": [
{
"Android XML": "`android:hint`",
"HarmonyOS 属性": "`.placeholder()`",
"类型转换": "String → String",
"代码示例": "Android: `android:hint=\"Enter name\"`<br/>HarmonyOS: `TextInput().placeholder('Enter name')`"
},
{
"Android XML": "`android:textColorHint`",
"HarmonyOS 属性": "`.placeholderColor()`",
"类型转换": "Color → ResourceColor",
"代码示例": "Android: `android:textColorHint=\"#AAAAAA\"`<br/>HarmonyOS: `TextInput().placeholderColor('#AAAAAA')`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:hint`",
"`.placeholder()`",
"String → String",
"Android: `android:hint=\"Enter name\"`<br/>HarmonyOS: `TextInput().placeholder('Enter name')`"
],
[
"`android:textColorHint`",
"`.placeholderColor()`",
"Color → ResourceColor",
"Android: `android:textColorHint=\"#AAAAAA\"`<br/>HarmonyOS: `TextInput().placeholderColor('#AAAAAA')`"
]
]
},
{
"table_index": 13,
"rows": [
{
"Android XML": "`android:completionThreshold`",
"HarmonyOS 属性": "Search 组件内置",
"类型转换": "int → 自动触发",
"代码示例": "Android: `android:completionThreshold=\"1\"`<br/>HarmonyOS: Search 组件自动触发"
},
{
"Android XML": "`android:dropDownHeight`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用 Popup 或 Select"
},
{
"Android XML": "`android:dropDownWidth`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用 Popup 或 Select"
},
{
"Android XML": "`android:dropDownHorizontalOffset`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用 Popup 或 Select"
},
{
"Android XML": "`android:dropDownVerticalOffset`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用 Popup 或 Select"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:completionThreshold`",
"Search 组件内置",
"int → 自动触发",
"Android: `android:completionThreshold=\"1\"`<br/>HarmonyOS: Search 组件自动触发"
],
[
"`android:dropDownHeight`",
"无直接对应",
"需自定义实现",
"使用 Popup 或 Select"
],
[
"`android:dropDownWidth`",
"无直接对应",
"需自定义实现",
"使用 Popup 或 Select"
],
[
"`android:dropDownHorizontalOffset`",
"无直接对应",
"需自定义实现",
"使用 Popup 或 Select"
],
[
"`android:dropDownVerticalOffset`",
"无直接对应",
"需自定义实现",
"使用 Popup 或 Select"
]
]
},
{
"table_index": 14,
"rows": [
{
"Android XML": "`android:format`",
"HarmonyOS 实现": "使用 setInterval",
"类型转换": "String → 格式化",
"代码示例": "Android: `android:format=\"%s\"`<br/>HarmonyOS: 使用 `setInterval` 更新 Text"
},
{
"Android XML": "`android:countDown`",
"HarmonyOS 实现": "自定义逻辑",
"类型转换": "boolean → 计数方向",
"代码示例": "Android: `android:countDown=\"true\"`<br/>HarmonyOS: 自定义计数逻辑"
},
{
"Android XML": "`android:base`",
"HarmonyOS 实现": "使用 Date",
"类型转换": "long → Date",
"代码示例": "Android: `android:base=\"1000\"`<br/>HarmonyOS: 使用 Date 对象"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 实现",
"类型转换",
"代码示例"
],
[
"`android:format`",
"使用 setInterval",
"String → 格式化",
"Android: `android:format=\"%s\"`<br/>HarmonyOS: 使用 `setInterval` 更新 Text"
],
[
"`android:countDown`",
"自定义逻辑",
"boolean → 计数方向",
"Android: `android:countDown=\"true\"`<br/>HarmonyOS: 自定义计数逻辑"
],
[
"`android:base`",
"使用 Date",
"long → Date",
"Android: `android:base=\"1000\"`<br/>HarmonyOS: 使用 Date 对象"
]
]
},
{
"table_index": 15,
"rows": [
{
"Android XML": "`android:layout_width`",
"HarmonyOS 属性": "`.width()`",
"类型转换": "dp → vp / match_parent → '100%'",
"代码示例": "Android: `android:layout_width=\"100dp\"`<br/>HarmonyOS: `Text('Hello').width(100)`"
},
{
"Android XML": "`android:layout_width=\"match_parent\"`",
"HarmonyOS 属性": "`.width()`",
"类型转换": "match_parent → '100%'",
"代码示例": "Android: `android:layout_width=\"match_parent\"`<br/>HarmonyOS: `Text('Hello').width('100%')`"
},
{
"Android XML": "`android:layout_width=\"wrap_content\"`",
"HarmonyOS 属性": "无需设置",
"类型转换": "wrap_content → 自适应",
"代码示例": "Android: `android:layout_width=\"wrap_content\"`<br/>HarmonyOS: 无需设置,自动适应"
},
{
"Android XML": "`android:layout_height`",
"HarmonyOS 属性": "`.height()`",
"类型转换": "dp → vp / match_parent → '100%'",
"代码示例": "Android: `android:layout_height=\"50dp\"`<br/>HarmonyOS: `Text('Hello').height(50)`"
},
{
"Android XML": "`android:minWidth`",
"HarmonyOS 属性": "`.constraintSize()`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:minWidth=\"100dp\"`<br/>HarmonyOS: `Text('Hello').constraintSize({ minWidth: 100 })`"
},
{
"Android XML": "`android:maxWidth`",
"HarmonyOS 属性": "`.constraintSize()`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:maxWidth=\"200dp\"`<br/>HarmonyOS: `Text('Hello').constraintSize({ maxWidth: 200 })`"
},
{
"Android XML": "`android:minHeight`",
"HarmonyOS 属性": "`.constraintSize()`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:minHeight=\"30dp\"`<br/>HarmonyOS: `Text('Hello').constraintSize({ minHeight: 30 })`"
},
{
"Android XML": "`android:maxHeight`",
"HarmonyOS 属性": "`.constraintSize()`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:maxHeight=\"100dp\"`<br/>HarmonyOS: `Text('Hello').constraintSize({ maxHeight: 100 })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layout_width`",
"`.width()`",
"dp → vp / match_parent → '100%'",
"Android: `android:layout_width=\"100dp\"`<br/>HarmonyOS: `Text('Hello').width(100)`"
],
[
"`android:layout_width=\"match_parent\"`",
"`.width()`",
"match_parent → '100%'",
"Android: `android:layout_width=\"match_parent\"`<br/>HarmonyOS: `Text('Hello').width('100%')`"
],
[
"`android:layout_width=\"wrap_content\"`",
"无需设置",
"wrap_content → 自适应",
"Android: `android:layout_width=\"wrap_content\"`<br/>HarmonyOS: 无需设置,自动适应"
],
[
"`android:layout_height`",
"`.height()`",
"dp → vp / match_parent → '100%'",
"Android: `android:layout_height=\"50dp\"`<br/>HarmonyOS: `Text('Hello').height(50)`"
],
[
"`android:minWidth`",
"`.constraintSize()`",
"dp → vp",
"Android: `android:minWidth=\"100dp\"`<br/>HarmonyOS: `Text('Hello').constraintSize({ minWidth: 100 })`"
],
[
"`android:maxWidth`",
"`.constraintSize()`",
"dp → vp",
"Android: `android:maxWidth=\"200dp\"`<br/>HarmonyOS: `Text('Hello').constraintSize({ maxWidth: 200 })`"
],
[
"`android:minHeight`",
"`.constraintSize()`",
"dp → vp",
"Android: `android:minHeight=\"30dp\"`<br/>HarmonyOS: `Text('Hello').constraintSize({ minHeight: 30 })`"
],
[
"`android:maxHeight`",
"`.constraintSize()`",
"dp → vp",
"Android: `android:maxHeight=\"100dp\"`<br/>HarmonyOS: `Text('Hello').constraintSize({ maxHeight: 100 })`"
]
]
},
{
"table_index": 16,
"rows": [
{
"Android XML": "`android:layout_margin`",
"HarmonyOS 属性": "`.margin()`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:layout_margin=\"10dp\"`<br/>HarmonyOS: `Text('Hello').margin(10)`"
},
{
"Android XML": "`android:layout_marginTop`",
"HarmonyOS 属性": "`.margin({ top })`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:layout_marginTop=\"10dp\"`<br/>HarmonyOS: `Text('Hello').margin({ top: 10 })`"
},
{
"Android XML": "`android:layout_marginBottom`",
"HarmonyOS 属性": "`.margin({ bottom })`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:layout_marginBottom=\"10dp\"`<br/>HarmonyOS: `Text('Hello').margin({ bottom: 10 })`"
},
{
"Android XML": "`android:layout_marginLeft`",
"HarmonyOS 属性": "`.margin({ left })`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:layout_marginLeft=\"10dp\"`<br/>HarmonyOS: `Text('Hello').margin({ left: 10 })`"
},
{
"Android XML": "`android:layout_marginRight`",
"HarmonyOS 属性": "`.margin({ right })`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:layout_marginRight=\"10dp\"`<br/>HarmonyOS: `Text('Hello').margin({ right: 10 })`"
},
{
"Android XML": "`android:layout_marginStart`",
"HarmonyOS 属性": "`.margin({ start })`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:layout_marginStart=\"10dp\"`<br/>HarmonyOS: `Text('Hello').margin({ start: 10 })`"
},
{
"Android XML": "`android:layout_marginEnd`",
"HarmonyOS 属性": "`.margin({ end })`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:layout_marginEnd=\"10dp\"`<br/>HarmonyOS: `Text('Hello').margin({ end: 10 })`"
},
{
"Android XML": "`android:padding`",
"HarmonyOS 属性": "`.padding()`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:padding=\"10dp\"`<br/>HarmonyOS: `Text('Hello').padding(10)`"
},
{
"Android XML": "`android:paddingTop`",
"HarmonyOS 属性": "`.padding({ top })`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:paddingTop=\"10dp\"`<br/>HarmonyOS: `Text('Hello').padding({ top: 10 })`"
},
{
"Android XML": "`android:paddingBottom`",
"HarmonyOS 属性": "`.padding({ bottom })`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:paddingBottom=\"10dp\"`<br/>HarmonyOS: `Text('Hello').padding({ bottom: 10 })`"
},
{
"Android XML": "`android:paddingLeft`",
"HarmonyOS 属性": "`.padding({ left })`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:paddingLeft=\"10dp\"`<br/>HarmonyOS: `Text('Hello').padding({ left: 10 })`"
},
{
"Android XML": "`android:paddingRight`",
"HarmonyOS 属性": "`.padding({ right })`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:paddingRight=\"10dp\"`<br/>HarmonyOS: `Text('Hello').padding({ right: 10 })`"
},
{
"Android XML": "`android:paddingStart`",
"HarmonyOS 属性": "`.padding({ start })`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:paddingStart=\"10dp\"`<br/>HarmonyOS: `Text('Hello').padding({ start: 10 })`"
},
{
"Android XML": "`android:paddingEnd`",
"HarmonyOS 属性": "`.padding({ end })`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:paddingEnd=\"10dp\"`<br/>HarmonyOS: `Text('Hello').padding({ end: 10 })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layout_margin`",
"`.margin()`",
"dp → vp",
"Android: `android:layout_margin=\"10dp\"`<br/>HarmonyOS: `Text('Hello').margin(10)`"
],
[
"`android:layout_marginTop`",
"`.margin({ top })`",
"dp → vp",
"Android: `android:layout_marginTop=\"10dp\"`<br/>HarmonyOS: `Text('Hello').margin({ top: 10 })`"
],
[
"`android:layout_marginBottom`",
"`.margin({ bottom })`",
"dp → vp",
"Android: `android:layout_marginBottom=\"10dp\"`<br/>HarmonyOS: `Text('Hello').margin({ bottom: 10 })`"
],
[
"`android:layout_marginLeft`",
"`.margin({ left })`",
"dp → vp",
"Android: `android:layout_marginLeft=\"10dp\"`<br/>HarmonyOS: `Text('Hello').margin({ left: 10 })`"
],
[
"`android:layout_marginRight`",
"`.margin({ right })`",
"dp → vp",
"Android: `android:layout_marginRight=\"10dp\"`<br/>HarmonyOS: `Text('Hello').margin({ right: 10 })`"
],
[
"`android:layout_marginStart`",
"`.margin({ start })`",
"dp → vp",
"Android: `android:layout_marginStart=\"10dp\"`<br/>HarmonyOS: `Text('Hello').margin({ start: 10 })`"
],
[
"`android:layout_marginEnd`",
"`.margin({ end })`",
"dp → vp",
"Android: `android:layout_marginEnd=\"10dp\"`<br/>HarmonyOS: `Text('Hello').margin({ end: 10 })`"
],
[
"`android:padding`",
"`.padding()`",
"dp → vp",
"Android: `android:padding=\"10dp\"`<br/>HarmonyOS: `Text('Hello').padding(10)`"
],
[
"`android:paddingTop`",
"`.padding({ top })`",
"dp → vp",
"Android: `android:paddingTop=\"10dp\"`<br/>HarmonyOS: `Text('Hello').padding({ top: 10 })`"
],
[
"`android:paddingBottom`",
"`.padding({ bottom })`",
"dp → vp",
"Android: `android:paddingBottom=\"10dp\"`<br/>HarmonyOS: `Text('Hello').padding({ bottom: 10 })`"
],
[
"`android:paddingLeft`",
"`.padding({ left })`",
"dp → vp",
"Android: `android:paddingLeft=\"10dp\"`<br/>HarmonyOS: `Text('Hello').padding({ left: 10 })`"
],
[
"`android:paddingRight`",
"`.padding({ right })`",
"dp → vp",
"Android: `android:paddingRight=\"10dp\"`<br/>HarmonyOS: `Text('Hello').padding({ right: 10 })`"
],
[
"`android:paddingStart`",
"`.padding({ start })`",
"dp → vp",
"Android: `android:paddingStart=\"10dp\"`<br/>HarmonyOS: `Text('Hello').padding({ start: 10 })`"
],
[
"`android:paddingEnd`",
"`.padding({ end })`",
"dp → vp",
"Android: `android:paddingEnd=\"10dp\"`<br/>HarmonyOS: `Text('Hello').padding({ end: 10 })`"
]
]
},
{
"table_index": 17,
"rows": [
{
"Android XML": "`android:layout_gravity`",
"HarmonyOS 属性": "`.align()` / `.alignSelf()`",
"类型转换": "Gravity → Alignment",
"代码示例": "Android: `android:layout_gravity=\"center\"`<br/>HarmonyOS: `Text('Hello').align(Alignment.Center)`"
},
{
"Android XML": "`android:layout_weight`",
"HarmonyOS 属性": "`.layoutWeight()`",
"类型转换": "float → number",
"代码示例": "Android: `android:layout_weight=\"1\"`<br/>HarmonyOS: `Text('Hello').layoutWeight(1)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layout_gravity`",
"`.align()` / `.alignSelf()`",
"Gravity → Alignment",
"Android: `android:layout_gravity=\"center\"`<br/>HarmonyOS: `Text('Hello').align(Alignment.Center)`"
],
[
"`android:layout_weight`",
"`.layoutWeight()`",
"float → number",
"Android: `android:layout_weight=\"1\"`<br/>HarmonyOS: `Text('Hello').layoutWeight(1)`"
]
]
},
{
"table_index": 18,
"rows": [
{
"Android XML": "`android:visibility`",
"HarmonyOS 属性": "`.visibility()`",
"类型转换": "enum → Visibility",
"代码示例": "Android: `android:visibility=\"gone\"`<br/>HarmonyOS: `Text('Hello').visibility(Visibility.None)`"
},
{
"Android XML": "`android:visibility=\"invisible\"`",
"HarmonyOS 属性": "`.visibility()`",
"类型转换": "invisible → Hidden",
"代码示例": "Android: `android:visibility=\"invisible\"`<br/>HarmonyOS: `Text('Hello').visibility(Visibility.Hidden)`"
},
{
"Android XML": "`android:visibility=\"visible\"`",
"HarmonyOS 属性": "`.visibility()`",
"类型转换": "visible → Visible",
"代码示例": "Android: `android:visibility=\"visible\"`<br/>HarmonyOS: `Text('Hello').visibility(Visibility.Visible)`"
},
{
"Android XML": "`android:alpha`",
"HarmonyOS 属性": "`.opacity()`",
"类型转换": "float (0-1) → number (0-1)",
"代码示例": "Android: `android:alpha=\"0.5\"`<br/>HarmonyOS: `Text('Hello').opacity(0.5)`"
},
{
"Android XML": "`android:background`",
"HarmonyOS 属性": "`.backgroundColor()`",
"类型转换": "Color → ResourceColor",
"代码示例": "Android: `android:background=\"#FF0000\"`<br/>HarmonyOS: `Text('Hello').backgroundColor('#FF0000')`"
},
{
"Android XML": "`android:background`",
"HarmonyOS 属性": "`.backgroundImage()`",
"类型转换": "Drawable → Resource",
"代码示例": "Android: `android:background=\"@drawable/bg\"`<br/>HarmonyOS: `Text('Hello').backgroundImage($r('app.media.bg'))`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:visibility`",
"`.visibility()`",
"enum → Visibility",
"Android: `android:visibility=\"gone\"`<br/>HarmonyOS: `Text('Hello').visibility(Visibility.None)`"
],
[
"`android:visibility=\"invisible\"`",
"`.visibility()`",
"invisible → Hidden",
"Android: `android:visibility=\"invisible\"`<br/>HarmonyOS: `Text('Hello').visibility(Visibility.Hidden)`"
],
[
"`android:visibility=\"visible\"`",
"`.visibility()`",
"visible → Visible",
"Android: `android:visibility=\"visible\"`<br/>HarmonyOS: `Text('Hello').visibility(Visibility.Visible)`"
],
[
"`android:alpha`",
"`.opacity()`",
"float (0-1) → number (0-1)",
"Android: `android:alpha=\"0.5\"`<br/>HarmonyOS: `Text('Hello').opacity(0.5)`"
],
[
"`android:background`",
"`.backgroundColor()`",
"Color → ResourceColor",
"Android: `android:background=\"#FF0000\"`<br/>HarmonyOS: `Text('Hello').backgroundColor('#FF0000')`"
],
[
"`android:background`",
"`.backgroundImage()`",
"Drawable → Resource",
"Android: `android:background=\"@drawable/bg\"`<br/>HarmonyOS: `Text('Hello').backgroundImage($r('app.media.bg'))`"
]
]
},
{
"table_index": 19,
"rows": [
{
"Android XML": "`android:enabled`",
"HarmonyOS 属性": "`.enabled()`",
"类型转换": "boolean → boolean",
"代码示例": "Android: `android:enabled=\"false\"`<br/>HarmonyOS: `Text('Hello').enabled(false)`"
},
{
"Android XML": "`android:clickable`",
"HarmonyOS 属性": "`.onClick()`",
"类型转换": "boolean → 事件回调",
"代码示例": "Android: `android:clickable=\"true\"`<br/>HarmonyOS: `Text('Hello').onClick(() => { ... })`"
},
{
"Android XML": "`android:focusable`",
"HarmonyOS 属性": "`.focusable()`",
"类型转换": "boolean → boolean",
"代码示例": "Android: `android:focusable=\"true\"`<br/>HarmonyOS: `Text('Hello').focusable(true)`"
},
{
"Android XML": "`android:focusableInTouchMode`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用焦点 API"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:enabled`",
"`.enabled()`",
"boolean → boolean",
"Android: `android:enabled=\"false\"`<br/>HarmonyOS: `Text('Hello').enabled(false)`"
],
[
"`android:clickable`",
"`.onClick()`",
"boolean → 事件回调",
"Android: `android:clickable=\"true\"`<br/>HarmonyOS: `Text('Hello').onClick(() => { ... })`"
],
[
"`android:focusable`",
"`.focusable()`",
"boolean → boolean",
"Android: `android:focusable=\"true\"`<br/>HarmonyOS: `Text('Hello').focusable(true)`"
],
[
"`android:focusableInTouchMode`",
"无直接对应",
"需自定义实现",
"使用焦点 API"
]
]
},
{
"table_index": 20,
"rows": [
{
"Android XML": "`android:rotation`",
"HarmonyOS 属性": "`.rotate()`",
"类型转换": "float → { angle: number }",
"代码示例": "Android: `android:rotation=\"90\"`<br/>HarmonyOS: `Text('Hello').rotate({ angle: 90 })`"
},
{
"Android XML": "`android:scaleX`",
"HarmonyOS 属性": "`.scale()`",
"类型转换": "float → { x: number }",
"代码示例": "Android: `android:scaleX=\"1.5\"`<br/>HarmonyOS: `Text('Hello').scale({ x: 1.5 })`"
},
{
"Android XML": "`android:scaleY`",
"HarmonyOS 属性": "`.scale()`",
"类型转换": "float → { y: number }",
"代码示例": "Android: `android:scaleY=\"1.5\"`<br/>HarmonyOS: `Text('Hello').scale({ y: 1.5 })`"
},
{
"Android XML": "`android:translationX`",
"HarmonyOS 属性": "`.translate()`",
"类型转换": "float → { x: number }",
"代码示例": "Android: `android:translationX=\"100\"`<br/>HarmonyOS: `Text('Hello').translate({ x: 100 })`"
},
{
"Android XML": "`android:translationY`",
"HarmonyOS 属性": "`.translate()`",
"类型转换": "float → { y: number }",
"代码示例": "Android: `android:translationY=\"100\"`<br/>HarmonyOS: `Text('Hello').translate({ y: 100 })`"
},
{
"Android XML": "`android:translationZ`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用层级和阴影"
},
{
"Android XML": "`android:pivotX`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用变换中心 API"
},
{
"Android XML": "`android:pivotY`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用变换中心 API"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:rotation`",
"`.rotate()`",
"float → { angle: number }",
"Android: `android:rotation=\"90\"`<br/>HarmonyOS: `Text('Hello').rotate({ angle: 90 })`"
],
[
"`android:scaleX`",
"`.scale()`",
"float → { x: number }",
"Android: `android:scaleX=\"1.5\"`<br/>HarmonyOS: `Text('Hello').scale({ x: 1.5 })`"
],
[
"`android:scaleY`",
"`.scale()`",
"float → { y: number }",
"Android: `android:scaleY=\"1.5\"`<br/>HarmonyOS: `Text('Hello').scale({ y: 1.5 })`"
],
[
"`android:translationX`",
"`.translate()`",
"float → { x: number }",
"Android: `android:translationX=\"100\"`<br/>HarmonyOS: `Text('Hello').translate({ x: 100 })`"
],
[
"`android:translationY`",
"`.translate()`",
"float → { y: number }",
"Android: `android:translationY=\"100\"`<br/>HarmonyOS: `Text('Hello').translate({ y: 100 })`"
],
[
"`android:translationZ`",
"无直接对应",
"需自定义实现",
"使用层级和阴影"
],
[
"`android:pivotX`",
"无直接对应",
"需自定义实现",
"使用变换中心 API"
],
[
"`android:pivotY`",
"无直接对应",
"需自定义实现",
"使用变换中心 API"
]
]
},
{
"table_index": 21,
"rows": [
{
"Android XML": "`android:elevation`",
"HarmonyOS 属性": "`.shadow()`",
"类型转换": "dp → shadow",
"代码示例": "Android: `android:elevation=\"8dp\"`<br/>HarmonyOS: `Text('Hello').shadow({ radius: 8, color: '#30000000', offsetY: 4 })`"
},
{
"Android XML": "`android:outlineProvider`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用裁剪 API"
},
{
"Android XML": "`android:clipToOutline`",
"HarmonyOS 属性": "`.clip()`",
"类型转换": "boolean → boolean",
"代码示例": "Android: `android:clipToOutline=\"true\"`<br/>HarmonyOS: `Text('Hello').clip(true)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:elevation`",
"`.shadow()`",
"dp → shadow",
"Android: `android:elevation=\"8dp\"`<br/>HarmonyOS: `Text('Hello').shadow({ radius: 8, color: '#30000000', offsetY: 4 })`"
],
[
"`android:outlineProvider`",
"无直接对应",
"需自定义实现",
"使用裁剪 API"
],
[
"`android:clipToOutline`",
"`.clip()`",
"boolean → boolean",
"Android: `android:clipToOutline=\"true\"`<br/>HarmonyOS: `Text('Hello').clip(true)`"
]
]
},
{
"table_index": 22,
"rows": [
{
"Android XML": "`android:contentDescription`",
"HarmonyOS 属性": "`.accessibilityText()`",
"类型转换": "String → String",
"代码示例": "Android: `android:contentDescription=\"Button label\"`<br/>HarmonyOS: `Text('Hello').accessibilityText('Button label')`"
},
{
"Android XML": "`android:labelFor`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用无障碍组"
},
{
"Android XML": "`android:importantForAccessibility`",
"HarmonyOS 属性": "`.accessibilityLevel()`",
"类型转换": "enum → AccessibilityLevel",
"代码示例": "Android: `android:importantForAccessibility=\"yes\"`<br/>HarmonyOS: `Text('Hello').accessibilityLevel('auto')`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:contentDescription`",
"`.accessibilityText()`",
"String → String",
"Android: `android:contentDescription=\"Button label\"`<br/>HarmonyOS: `Text('Hello').accessibilityText('Button label')`"
],
[
"`android:labelFor`",
"无直接对应",
"需自定义实现",
"使用无障碍组"
],
[
"`android:importantForAccessibility`",
"`.accessibilityLevel()`",
"enum → AccessibilityLevel",
"Android: `android:importantForAccessibility=\"yes\"`<br/>HarmonyOS: `Text('Hello').accessibilityLevel('auto')`"
]
]
},
{
"table_index": 23,
"rows": [
{
"Android 单位": "`dp` (Density-independent Pixels)",
"HarmonyOS 单位": "`vp` (Virtual Pixels)",
"换算关系": "1dp ≈ 1vp",
"说明": "密度无关像素,用于布局尺寸"
},
{
"Android 单位": "`sp` (Scale-independent Pixels)",
"HarmonyOS 单位": "`fp` (Font Pixels)",
"换算关系": "1sp ≈ 1fp",
"说明": "字体像素,用于文本大小,会随系统字体缩放"
},
{
"Android 单位": "`px` (Pixels)",
"HarmonyOS 单位": "`px` (Pixels)",
"换算关系": "1px = 1px",
"说明": "物理像素,不推荐使用"
},
{
"Android 单位": "`dip`",
"HarmonyOS 单位": "`vp`",
"换算关系": "1dip ≈ 1vp",
"说明": "dp 的别名"
},
{
"Android 单位": "`in` (Inches)",
"HarmonyOS 单位": "需转换",
"换算关系": "1in ≈ 160vp",
"说明": "英寸,1英寸 = 160dp"
},
{
"Android 单位": "`mm` (Millimeters)",
"HarmonyOS 单位": "需转换",
"换算关系": "1mm ≈ 6.33vp",
"说明": "毫米,1毫米 = 6.33dp"
},
{
"Android 单位": "`pt` (Points)",
"HarmonyOS 单位": "需转换",
"换算关系": "1pt ≈ 2.12vp",
"说明": "点,1点 = 2.12dp"
}
],
"raw_table": [
[
"Android 单位",
"HarmonyOS 单位",
"换算关系",
"说明"
],
[
"`dp` (Density-independent Pixels)",
"`vp` (Virtual Pixels)",
"1dp ≈ 1vp",
"密度无关像素,用于布局尺寸"
],
[
"`sp` (Scale-independent Pixels)",
"`fp` (Font Pixels)",
"1sp ≈ 1fp",
"字体像素,用于文本大小,会随系统字体缩放"
],
[
"`px` (Pixels)",
"`px` (Pixels)",
"1px = 1px",
"物理像素,不推荐使用"
],
[
"`dip`",
"`vp`",
"1dip ≈ 1vp",
"dp 的别名"
],
[
"`in` (Inches)",
"需转换",
"1in ≈ 160vp",
"英寸,1英寸 = 160dp"
],
[
"`mm` (Millimeters)",
"需转换",
"1mm ≈ 6.33vp",
"毫米,1毫米 = 6.33dp"
],
[
"`pt` (Points)",
"需转换",
"1pt ≈ 2.12vp",
"点,1点 = 2.12dp"
]
]
},
{
"table_index": 24,
"rows": [
{
"映射类型": "直接映射",
"数量": "45",
"占比": "~50%"
},
{
"映射类型": "需类型转换",
"数量": "30",
"占比": "~33%"
},
{
"映射类型": "需组合实现",
"数量": "10",
"占比": "~11%"
},
{
"映射类型": "无直接对应",
"数量": "5",
"占比": "~6%"
},
{
"映射类型": "**总计**",
"数量": "**90**",
"占比": "**100%**"
}
],
"raw_table": [
[
"映射类型",
"数量",
"占比"
],
[
"直接映射",
"45",
"~50%"
],
[
"需类型转换",
"30",
"~33%"
],
[
"需组合实现",
"10",
"~11%"
],
[
"无直接对应",
"5",
"~6%"
],
[
"**总计**",
"**90**",
"**100%**"
]
]
},
{
"table_index": 25,
"rows": [
{
"Android 组件": "Button",
"类名": "`android.widget.Button`",
"HarmonyOS 组件": "`Button`",
"替代方案": "直接映射",
"说明": "普通按钮"
},
{
"Android 组件": "ImageButton",
"类名": "`android.widget.ImageButton`",
"HarmonyOS 组件": "`Button` + `Image`",
"替代方案": "组合实现",
"说明": "图片按钮"
},
{
"Android 组件": "CompoundButton",
"类名": "`android.widget.CompoundButton`",
"HarmonyOS 组件": "`Checkbox` / `Radio` / `Toggle`",
"替代方案": "根据类型选择",
"说明": "复合按钮基类"
},
{
"Android 组件": "CheckBox",
"类名": "`android.widget.CheckBox`",
"HarmonyOS 组件": "`Checkbox`",
"替代方案": "直接映射",
"说明": "复选框"
},
{
"Android 组件": "RadioButton",
"类名": "`android.widget.RadioButton`",
"HarmonyOS 组件": "`Radio` + `RadioContainer`",
"替代方案": "需容器",
"说明": "单选按钮"
},
{
"Android 组件": "RadioGroup",
"类名": "`android.widget.RadioGroup`",
"HarmonyOS 组件": "`RadioContainer`",
"替代方案": "直接映射",
"说明": "单选按钮组"
},
{
"Android 组件": "ToggleButton",
"类名": "`android.widget.ToggleButton`",
"HarmonyOS 组件": "`Toggle` (ButtonType: Button)",
"替代方案": "直接映射",
"说明": "开关按钮(文字切换)"
},
{
"Android 组件": "Switch",
"类名": "`android.widget.Switch`",
"HarmonyOS 组件": "`Toggle` (ButtonType: Switch)",
"替代方案": "直接映射",
"说明": "开关控件(滑动式)"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"Button",
"`android.widget.Button`",
"`Button`",
"直接映射",
"普通按钮"
],
[
"ImageButton",
"`android.widget.ImageButton`",
"`Button` + `Image`",
"组合实现",
"图片按钮"
],
[
"CompoundButton",
"`android.widget.CompoundButton`",
"`Checkbox` / `Radio` / `Toggle`",
"根据类型选择",
"复合按钮基类"
],
[
"CheckBox",
"`android.widget.CheckBox`",
"`Checkbox`",
"直接映射",
"复选框"
],
[
"RadioButton",
"`android.widget.RadioButton`",
"`Radio` + `RadioContainer`",
"需容器",
"单选按钮"
],
[
"RadioGroup",
"`android.widget.RadioGroup`",
"`RadioContainer`",
"直接映射",
"单选按钮组"
],
[
"ToggleButton",
"`android.widget.ToggleButton`",
"`Toggle` (ButtonType: Button)",
"直接映射",
"开关按钮(文字切换)"
],
[
"Switch",
"`android.widget.Switch`",
"`Toggle` (ButtonType: Switch)",
"直接映射",
"开关控件(滑动式)"
]
]
},
{
"table_index": 26,
"rows": [
{
"Android XML": "`android:text`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "String",
"代码示例": "Android: `android:text=\"Click Me\"`<br/>HarmonyOS: `Button('Click Me')`"
},
{
"Android XML": "`android:textColor`",
"HarmonyOS 属性": "`.fontColor()`",
"类型转换": "Color → ResourceColor",
"代码示例": "Android: `android:textColor=\"#FFFFFF\"`<br/>HarmonyOS: `Button('Click').fontColor('#FFFFFF')`"
},
{
"Android XML": "`android:textSize`",
"HarmonyOS 属性": "`.fontSize()`",
"类型转换": "sp → fp",
"代码示例": "Android: `android:textSize=\"16sp\"`<br/>HarmonyOS: `Button('Click').fontSize(16)`"
},
{
"Android XML": "`android:textStyle`",
"HarmonyOS 属性": "`.fontWeight()`",
"类型转换": "enum → FontWeight",
"代码示例": "Android: `android:textStyle=\"bold\"`<br/>HarmonyOS: `Button('Click').fontWeight(FontWeight.Bold)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:text`",
"构造函数参数",
"String",
"Android: `android:text=\"Click Me\"`<br/>HarmonyOS: `Button('Click Me')`"
],
[
"`android:textColor`",
"`.fontColor()`",
"Color → ResourceColor",
"Android: `android:textColor=\"#FFFFFF\"`<br/>HarmonyOS: `Button('Click').fontColor('#FFFFFF')`"
],
[
"`android:textSize`",
"`.fontSize()`",
"sp → fp",
"Android: `android:textSize=\"16sp\"`<br/>HarmonyOS: `Button('Click').fontSize(16)`"
],
[
"`android:textStyle`",
"`.fontWeight()`",
"enum → FontWeight",
"Android: `android:textStyle=\"bold\"`<br/>HarmonyOS: `Button('Click').fontWeight(FontWeight.Bold)`"
]
]
},
{
"table_index": 27,
"rows": [
{
"Android XML": "`android:background`",
"HarmonyOS 属性": "`.type()` + `.backgroundColor()`",
"类型转换": "Drawable → ButtonType",
"代码示例": "Android: `android:background=\"@drawable/bg\"`<br/>HarmonyOS: `Button('Click').type(ButtonType.Normal)`"
},
{
"Android XML": "`android:stateListAnimator`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用动画 API"
},
{
"Android XML": "`android:elevation`",
"HarmonyOS 属性": "`.shadow()`",
"类型转换": "dp → shadow",
"代码示例": "Android: `android:elevation=\"4dp\"`<br/>HarmonyOS: `Button('Click').shadow({ radius: 4 })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:background`",
"`.type()` + `.backgroundColor()`",
"Drawable → ButtonType",
"Android: `android:background=\"@drawable/bg\"`<br/>HarmonyOS: `Button('Click').type(ButtonType.Normal)`"
],
[
"`android:stateListAnimator`",
"无直接对应",
"需自定义实现",
"使用动画 API"
],
[
"`android:elevation`",
"`.shadow()`",
"dp → shadow",
"Android: `android:elevation=\"4dp\"`<br/>HarmonyOS: `Button('Click').shadow({ radius: 4 })`"
]
]
},
{
"table_index": 28,
"rows": [
{
"Android XML": "`app:cornerRadius`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用 `.borderRadius()`"
},
{
"Android XML": "`app:icon`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需组合实现",
"代码示例": "使用 `Button` + `Image` 组合"
},
{
"Android XML": "`app:iconTint`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需组合实现",
"代码示例": "使用 `Image` 的 `.renderMode()`"
},
{
"Android XML": "`app:iconGravity`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需组合实现",
"代码示例": "使用 `Row` 布局调整"
},
{
"Android XML": "`app:iconPadding`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需组合实现",
"代码示例": "使用 `.padding()`"
},
{
"Android XML": "`app:iconSize`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需组合实现",
"代码示例": "使用 `Image` 的 `.width()` `.height()`"
},
{
"Android XML": "`app:strokeColor`",
"HarmonyOS 属性": "`.border()`",
"类型转换": "Color → borderColor",
"代码示例": "Android: `app:strokeColor=\"#FF0000\"`<br/>HarmonyOS: `Button('Click').border({ color: '#FF0000' })`"
},
{
"Android XML": "`app:strokeWidth`",
"HarmonyOS 属性": "`.border()`",
"类型转换": "dp → borderWidth",
"代码示例": "Android: `app:strokeWidth=\"2dp\"`<br/>HarmonyOS: `Button('Click').border({ width: 2 })`"
},
{
"Android XML": "`app:rippleColor`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用状态样式"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`app:cornerRadius`",
"无直接对应",
"需自定义实现",
"使用 `.borderRadius()`"
],
[
"`app:icon`",
"无直接对应",
"需组合实现",
"使用 `Button` + `Image` 组合"
],
[
"`app:iconTint`",
"无直接对应",
"需组合实现",
"使用 `Image` 的 `.renderMode()`"
],
[
"`app:iconGravity`",
"无直接对应",
"需组合实现",
"使用 `Row` 布局调整"
],
[
"`app:iconPadding`",
"无直接对应",
"需组合实现",
"使用 `.padding()`"
],
[
"`app:iconSize`",
"无直接对应",
"需组合实现",
"使用 `Image` 的 `.width()` `.height()`"
],
[
"`app:strokeColor`",
"`.border()`",
"Color → borderColor",
"Android: `app:strokeColor=\"#FF0000\"`<br/>HarmonyOS: `Button('Click').border({ color: '#FF0000' })`"
],
[
"`app:strokeWidth`",
"`.border()`",
"dp → borderWidth",
"Android: `app:strokeWidth=\"2dp\"`<br/>HarmonyOS: `Button('Click').border({ width: 2 })`"
],
[
"`app:rippleColor`",
"无直接对应",
"需自定义实现",
"使用状态样式"
]
]
},
{
"table_index": 29,
"rows": [
{
"Android XML": "`android:enabled`",
"HarmonyOS 属性": "`.enabled()`",
"类型转换": "boolean → boolean",
"代码示例": "Android: `android:enabled=\"false\"`<br/>HarmonyOS: `Button('Click').enabled(false)`"
},
{
"Android XML": "`android:clickable`",
"HarmonyOS 属性": "`.onClick()`",
"类型转换": "boolean → 事件回调",
"代码示例": "Android: `android:clickable=\"true\"`<br/>HarmonyOS: `Button('Click').onClick(() => { ... })`"
},
{
"Android XML": "`android:focusable`",
"HarmonyOS 属性": "`.focusable()`",
"类型转换": "boolean → boolean",
"代码示例": "Android: `android:focusable=\"true\"`<br/>HarmonyOS: `Button('Click').focusable(true)`"
},
{
"Android XML": "`android:selected`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需状态管理",
"代码示例": "使用 `@State` 变量"
},
{
"Android XML": "`android:pressed`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需状态管理",
"代码示例": "使用 `.stateEffect()`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:enabled`",
"`.enabled()`",
"boolean → boolean",
"Android: `android:enabled=\"false\"`<br/>HarmonyOS: `Button('Click').enabled(false)`"
],
[
"`android:clickable`",
"`.onClick()`",
"boolean → 事件回调",
"Android: `android:clickable=\"true\"`<br/>HarmonyOS: `Button('Click').onClick(() => { ... })`"
],
[
"`android:focusable`",
"`.focusable()`",
"boolean → boolean",
"Android: `android:focusable=\"true\"`<br/>HarmonyOS: `Button('Click').focusable(true)`"
],
[
"`android:selected`",
"无直接对应",
"需状态管理",
"使用 `@State` 变量"
],
[
"`android:pressed`",
"无直接对应",
"需状态管理",
"使用 `.stateEffect()`"
]
]
},
{
"table_index": 30,
"rows": [
{
"Android XML": "`android:onClick`",
"HarmonyOS 属性": "`.onClick()`",
"类型转换": "方法引用 → 回调函数",
"代码示例": "Android: `android:onClick=\"onClick\"`<br/>HarmonyOS: `Button('Click').onClick(() => { ... })`"
},
{
"Android XML": "`android:longClickable`",
"HarmonyOS 属性": "`.onLongPress()`",
"类型转换": "boolean → 回调函数",
"代码示例": "Android: `android:longClickable=\"true\"`<br/>HarmonyOS: `Button('Click').onLongPress(() => { ... })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:onClick`",
"`.onClick()`",
"方法引用 → 回调函数",
"Android: `android:onClick=\"onClick\"`<br/>HarmonyOS: `Button('Click').onClick(() => { ... })`"
],
[
"`android:longClickable`",
"`.onLongPress()`",
"boolean → 回调函数",
"Android: `android:longClickable=\"true\"`<br/>HarmonyOS: `Button('Click').onLongPress(() => { ... })`"
]
]
},
{
"table_index": 31,
"rows": [
{
"Android XML": "`android:src`",
"HarmonyOS 实现": "`Image` 组件",
"类型转换": "Drawable → Resource",
"代码示例": "Android: `android:src=\"@drawable/icon\"`<br/>HarmonyOS: `Button() { Image($r('app.media.icon')) }`"
},
{
"Android XML": "`android:scaleType`",
"HarmonyOS 实现": "`Image.objectFit()`",
"类型转换": "ScaleType → ImageFit",
"代码示例": "Android: `android:scaleType=\"centerCrop\"`<br/>HarmonyOS: `Image($r('app.media.icon')).objectFit(ImageFit.Cover)`"
},
{
"Android XML": "`android:adjustViewBounds`",
"HarmonyOS 实现": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用尺寸约束"
},
{
"Android XML": "`android:tint`",
"HarmonyOS 实现": "`Image.renderMode()`",
"类型转换": "Color → RenderMode",
"代码示例": "Android: `android:tint=\"#FF0000\"`<br/>HarmonyOS: `Image($r('app.media.icon')).renderMode(ImageRenderMode.Template)`"
},
{
"Android XML": "`android:tintMode`",
"HarmonyOS 实现": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用渲染模式"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 实现",
"类型转换",
"代码示例"
],
[
"`android:src`",
"`Image` 组件",
"Drawable → Resource",
"Android: `android:src=\"@drawable/icon\"`<br/>HarmonyOS: `Button() { Image($r('app.media.icon')) }`"
],
[
"`android:scaleType`",
"`Image.objectFit()`",
"ScaleType → ImageFit",
"Android: `android:scaleType=\"centerCrop\"`<br/>HarmonyOS: `Image($r('app.media.icon')).objectFit(ImageFit.Cover)`"
],
[
"`android:adjustViewBounds`",
"无直接对应",
"需自定义实现",
"使用尺寸约束"
],
[
"`android:tint`",
"`Image.renderMode()`",
"Color → RenderMode",
"Android: `android:tint=\"#FF0000\"`<br/>HarmonyOS: `Image($r('app.media.icon')).renderMode(ImageRenderMode.Template)`"
],
[
"`android:tintMode`",
"无直接对应",
"需自定义实现",
"使用渲染模式"
]
]
},
{
"table_index": 32,
"rows": [
{
"Android XML": "`android:checked`",
"HarmonyOS 属性": "`.select()`",
"类型转换": "boolean → boolean",
"代码示例": "Android: `android:checked=\"true\"`<br/>HarmonyOS: `Checkbox().select(true)`"
},
{
"Android XML": "`android:button`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用自定义样式"
},
{
"Android XML": "`android:buttonTint`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用状态样式"
},
{
"Android XML": "`android:buttonTintMode`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用状态样式"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:checked`",
"`.select()`",
"boolean → boolean",
"Android: `android:checked=\"true\"`<br/>HarmonyOS: `Checkbox().select(true)`"
],
[
"`android:button`",
"无直接对应",
"需自定义实现",
"使用自定义样式"
],
[
"`android:buttonTint`",
"无直接对应",
"需自定义实现",
"使用状态样式"
],
[
"`android:buttonTintMode`",
"无直接对应",
"需自定义实现",
"使用状态样式"
]
]
},
{
"table_index": 33,
"rows": [
{
"Android XML": "`android:OnCheckedChangeListener`",
"HarmonyOS 属性": "`.onChange()`",
"类型转换": "监听器 → 回调函数",
"代码示例": "Android: `setOnCheckedChangeListener(...)`<br/>HarmonyOS: `Checkbox().onChange((isSelected: boolean) => { ... })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:OnCheckedChangeListener`",
"`.onChange()`",
"监听器 → 回调函数",
"Android: `setOnCheckedChangeListener(...)`<br/>HarmonyOS: `Checkbox().onChange((isSelected: boolean) => { ... })`"
]
]
},
{
"table_index": 34,
"rows": [
{
"Android XML": "`android:checked`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "由 RadioContainer 管理",
"代码示例": "使用 RadioContainer 的默认值"
},
{
"Android XML": "`android:button`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用自定义样式"
},
{
"Android XML": "`android:buttonTint`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用状态样式"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:checked`",
"无直接对应",
"由 RadioContainer 管理",
"使用 RadioContainer 的默认值"
],
[
"`android:button`",
"无直接对应",
"需自定义实现",
"使用自定义样式"
],
[
"`android:buttonTint`",
"无直接对应",
"需自定义实现",
"使用状态样式"
]
]
},
{
"table_index": 35,
"rows": [
{
"Android XML": "`android:orientation`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需布局选择",
"代码示例": "垂直用 Column,水平用 Row"
},
{
"Android XML": "`android:checkedButton`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需状态管理",
"代码示例": "使用 `@State` 变量管理选中项"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:orientation`",
"无直接对应",
"需布局选择",
"垂直用 Column,水平用 Row"
],
[
"`android:checkedButton`",
"无直接对应",
"需状态管理",
"使用 `@State` 变量管理选中项"
]
]
},
{
"table_index": 36,
"rows": [
{
"Android XML": "`android:checked`",
"HarmonyOS 属性": "`.select()`",
"类型转换": "boolean → boolean",
"代码示例": "Android: `android:checked=\"true\"`<br/>HarmonyOS: `Toggle().select(true)`"
},
{
"Android XML": "`android:textOn`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需组合实现",
"代码示例": "使用 `Toggle` + `Text` 组合"
},
{
"Android XML": "`android:textOff`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需组合实现",
"代码示例": "使用 `Toggle` + `Text` 组合"
},
{
"Android XML": "`android:thumb`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用自定义样式"
},
{
"Android XML": "`android:thumbTint`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用状态样式"
},
{
"Android XML": "`android:track`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用自定义样式"
},
{
"Android XML": "`android:trackTint`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用状态样式"
},
{
"Android XML": "`android:showText`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需组合实现",
"代码示例": "使用 `Toggle` + `Text` 组合"
},
{
"Android XML": "`android:splitTrack`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用自定义样式"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:checked`",
"`.select()`",
"boolean → boolean",
"Android: `android:checked=\"true\"`<br/>HarmonyOS: `Toggle().select(true)`"
],
[
"`android:textOn`",
"无直接对应",
"需组合实现",
"使用 `Toggle` + `Text` 组合"
],
[
"`android:textOff`",
"无直接对应",
"需组合实现",
"使用 `Toggle` + `Text` 组合"
],
[
"`android:thumb`",
"无直接对应",
"需自定义实现",
"使用自定义样式"
],
[
"`android:thumbTint`",
"无直接对应",
"需自定义实现",
"使用状态样式"
],
[
"`android:track`",
"无直接对应",
"需自定义实现",
"使用自定义样式"
],
[
"`android:trackTint`",
"无直接对应",
"需自定义实现",
"使用状态样式"
],
[
"`android:showText`",
"无直接对应",
"需组合实现",
"使用 `Toggle` + `Text` 组合"
],
[
"`android:splitTrack`",
"无直接对应",
"需自定义实现",
"使用自定义样式"
]
]
},
{
"table_index": 37,
"rows": [
{
"Android 组件": "`Switch`",
"HarmonyOS 类型": "`ToggleType.Switch`",
"代码示例": "`Toggle({ type: ToggleType.Switch })`"
},
{
"Android 组件": "`ToggleButton`",
"HarmonyOS 类型": "`ToggleType.Button`",
"代码示例": "`Toggle({ type: ToggleType.Button })`"
}
],
"raw_table": [
[
"Android 组件",
"HarmonyOS 类型",
"代码示例"
],
[
"`Switch`",
"`ToggleType.Switch`",
"`Toggle({ type: ToggleType.Switch })`"
],
[
"`ToggleButton`",
"`ToggleType.Button`",
"`Toggle({ type: ToggleType.Button })`"
]
]
},
{
"table_index": 38,
"rows": [
{
"Android XML": "`android:OnCheckedChangeListener`",
"HarmonyOS 属性": "`.onChange()`",
"类型转换": "监听器 → 回调函数",
"代码示例": "Android: `setOnCheckedChangeListener(...)`<br/>HarmonyOS: `Toggle().onChange((isOn: boolean) => { ... })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:OnCheckedChangeListener`",
"`.onChange()`",
"监听器 → 回调函数",
"Android: `setOnCheckedChangeListener(...)`<br/>HarmonyOS: `Toggle().onChange((isOn: boolean) => { ... })`"
]
]
},
{
"table_index": 39,
"rows": [
{
"Android XML": "`android:minWidth`",
"HarmonyOS 属性": "`.constraintSize()`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:minWidth=\"88dp\"`<br/>HarmonyOS: `Button('Click').constraintSize({ minWidth: 88 })`"
},
{
"Android XML": "`android:minHeight`",
"HarmonyOS 属性": "`.constraintSize()`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:minHeight=\"48dp\"`<br/>HarmonyOS: `Button('Click').constraintSize({ minHeight: 48 })`"
},
{
"Android XML": "`android:paddingStart`",
"HarmonyOS 属性": "`.padding({ start })`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:paddingStart=\"16dp\"`<br/>HarmonyOS: `Button('Click').padding({ start: 16 })`"
},
{
"Android XML": "`android:paddingEnd`",
"HarmonyOS 属性": "`.padding({ end })`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:paddingEnd=\"16dp\"`<br/>HarmonyOS: `Button('Click').padding({ end: 16 })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:minWidth`",
"`.constraintSize()`",
"dp → vp",
"Android: `android:minWidth=\"88dp\"`<br/>HarmonyOS: `Button('Click').constraintSize({ minWidth: 88 })`"
],
[
"`android:minHeight`",
"`.constraintSize()`",
"dp → vp",
"Android: `android:minHeight=\"48dp\"`<br/>HarmonyOS: `Button('Click').constraintSize({ minHeight: 48 })`"
],
[
"`android:paddingStart`",
"`.padding({ start })`",
"dp → vp",
"Android: `android:paddingStart=\"16dp\"`<br/>HarmonyOS: `Button('Click').padding({ start: 16 })`"
],
[
"`android:paddingEnd`",
"`.padding({ end })`",
"dp → vp",
"Android: `android:paddingEnd=\"16dp\"`<br/>HarmonyOS: `Button('Click').padding({ end: 16 })`"
]
]
},
{
"table_index": 40,
"rows": [
{
"映射类型": "直接映射",
"数量": "20",
"占比": "~45%"
},
{
"映射类型": "需类型转换",
"数量": "10",
"占比": "~23%"
},
{
"映射类型": "需组合实现",
"数量": "10",
"占比": "~23%"
},
{
"映射类型": "无直接对应",
"数量": "4",
"占比": "~9%"
},
{
"映射类型": "**总计**",
"数量": "**44**",
"占比": "**100%**"
}
],
"raw_table": [
[
"映射类型",
"数量",
"占比"
],
[
"直接映射",
"20",
"~45%"
],
[
"需类型转换",
"10",
"~23%"
],
[
"需组合实现",
"10",
"~23%"
],
[
"无直接对应",
"4",
"~9%"
],
[
"**总计**",
"**44**",
"**100%**"
]
]
},
{
"table_index": 41,
"rows": [
{
"Android 组件": "ImageView",
"类名": "`android.widget.ImageView`",
"HarmonyOS 组件": "`Image`",
"替代方案": "直接映射",
"说明": "图片显示组件"
},
{
"Android 组件": "QuickContactBadge",
"类名": "`android.widget.QuickContactBadge`",
"HarmonyOS 组件": "`Badge` + `Image`",
"替代方案": "组合实现",
"说明": "快捷联系人徽章"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"ImageView",
"`android.widget.ImageView`",
"`Image`",
"直接映射",
"图片显示组件"
],
[
"QuickContactBadge",
"`android.widget.QuickContactBadge`",
"`Badge` + `Image`",
"组合实现",
"快捷联系人徽章"
]
]
},
{
"table_index": 42,
"rows": [
{
"Android XML": "`android:src`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "Drawable → Resource",
"代码示例": "Android: `android:src=\"@drawable/image\"`<br/>HarmonyOS: `Image($r('app.media.image'))`"
},
{
"Android XML": "`android:srcCompat`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "Drawable → Resource",
"代码示例": "Android: `android:srcCompat=\"@drawable/image\"`<br/>HarmonyOS: `Image($r('app.media.image'))`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:src`",
"构造函数参数",
"Drawable → Resource",
"Android: `android:src=\"@drawable/image\"`<br/>HarmonyOS: `Image($r('app.media.image'))`"
],
[
"`android:srcCompat`",
"构造函数参数",
"Drawable → Resource",
"Android: `android:srcCompat=\"@drawable/image\"`<br/>HarmonyOS: `Image($r('app.media.image'))`"
]
]
},
{
"table_index": 43,
"rows": [
{
"Android XML": "`android:scaleType`",
"HarmonyOS 属性": "`.objectFit()`",
"类型转换": "ScaleType → ImageFit",
"代码示例": "Android: `android:scaleType=\"centerCrop\"`<br/>HarmonyOS: `Image($r('app.media.image')).objectFit(ImageFit.Cover)`"
},
{
"Android XML": "`android:scaleType=\"center\"`",
"HarmonyOS 属性": "`.objectFit()`",
"类型转换": "center → ImageFit.None",
"代码示例": "Android: `android:scaleType=\"center\"`<br/>HarmonyOS: `Image($r('app.media.image')).objectFit(ImageFit.None)`"
},
{
"Android XML": "`android:scaleType=\"centerCrop\"`",
"HarmonyOS 属性": "`.objectFit()`",
"类型转换": "centerCrop → ImageFit.Cover",
"代码示例": "Android: `android:scaleType=\"centerCrop\"`<br/>HarmonyOS: `Image($r('app.media.image')).objectFit(ImageFit.Cover)`"
},
{
"Android XML": "`android:scaleType=\"centerInside\"`",
"HarmonyOS 属性": "`.objectFit()`",
"类型转换": "centerInside → ImageFit.Contain",
"代码示例": "Android: `android:scaleType=\"centerInside\"`<br/>HarmonyOS: `Image($r('app.media.image')).objectFit(ImageFit.Contain)`"
},
{
"Android XML": "`android:scaleType=\"fitCenter\"`",
"HarmonyOS 属性": "`.objectFit()`",
"类型转换": "fitCenter → ImageFit.Contain",
"代码示例": "Android: `android:scaleType=\"fitCenter\"`<br/>HarmonyOS: `Image($r('app.media.image')).objectFit(ImageFit.Contain)`"
},
{
"Android XML": "`android:scaleType=\"fitXY\"`",
"HarmonyOS 属性": "`.objectFit()`",
"类型转换": "fitXY → ImageFit.Fill",
"代码示例": "Android: `android:scaleType=\"fitXY\"`<br/>HarmonyOS: `Image($r('app.media.image')).objectFit(ImageFit.Fill)`"
},
{
"Android XML": "`android:scaleType=\"fitStart\"`",
"HarmonyOS 属性": "`.objectFit()`",
"类型转换": "fitStart → ImageFit.Contain",
"代码示例": "Android: `android:scaleType=\"fitStart\"`<br/>HarmonyOS: `Image($r('app.media.image')).objectFit(ImageFit.Contain)`"
},
{
"Android XML": "`android:scaleType=\"fitEnd\"`",
"HarmonyOS 属性": "`.objectFit()`",
"类型转换": "fitEnd → ImageFit.Contain",
"代码示例": "Android: `android:scaleType=\"fitEnd\"`<br/>HarmonyOS: `Image($r('app.media.image')).objectFit(ImageFit.Contain)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:scaleType`",
"`.objectFit()`",
"ScaleType → ImageFit",
"Android: `android:scaleType=\"centerCrop\"`<br/>HarmonyOS: `Image($r('app.media.image')).objectFit(ImageFit.Cover)`"
],
[
"`android:scaleType=\"center\"`",
"`.objectFit()`",
"center → ImageFit.None",
"Android: `android:scaleType=\"center\"`<br/>HarmonyOS: `Image($r('app.media.image')).objectFit(ImageFit.None)`"
],
[
"`android:scaleType=\"centerCrop\"`",
"`.objectFit()`",
"centerCrop → ImageFit.Cover",
"Android: `android:scaleType=\"centerCrop\"`<br/>HarmonyOS: `Image($r('app.media.image')).objectFit(ImageFit.Cover)`"
],
[
"`android:scaleType=\"centerInside\"`",
"`.objectFit()`",
"centerInside → ImageFit.Contain",
"Android: `android:scaleType=\"centerInside\"`<br/>HarmonyOS: `Image($r('app.media.image')).objectFit(ImageFit.Contain)`"
],
[
"`android:scaleType=\"fitCenter\"`",
"`.objectFit()`",
"fitCenter → ImageFit.Contain",
"Android: `android:scaleType=\"fitCenter\"`<br/>HarmonyOS: `Image($r('app.media.image')).objectFit(ImageFit.Contain)`"
],
[
"`android:scaleType=\"fitXY\"`",
"`.objectFit()`",
"fitXY → ImageFit.Fill",
"Android: `android:scaleType=\"fitXY\"`<br/>HarmonyOS: `Image($r('app.media.image')).objectFit(ImageFit.Fill)`"
],
[
"`android:scaleType=\"fitStart\"`",
"`.objectFit()`",
"fitStart → ImageFit.Contain",
"Android: `android:scaleType=\"fitStart\"`<br/>HarmonyOS: `Image($r('app.media.image')).objectFit(ImageFit.Contain)`"
],
[
"`android:scaleType=\"fitEnd\"`",
"`.objectFit()`",
"fitEnd → ImageFit.Contain",
"Android: `android:scaleType=\"fitEnd\"`<br/>HarmonyOS: `Image($r('app.media.image')).objectFit(ImageFit.Contain)`"
]
]
},
{
"table_index": 44,
"rows": [
{
"Android XML": "`android:adjustViewBounds`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用尺寸约束"
},
{
"Android XML": "`android:maxWidth`",
"HarmonyOS 属性": "`.constraintSize()`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:maxWidth=\"200dp\"`<br/>HarmonyOS: `Image($r('app.media.image')).constraintSize({ maxWidth: 200 })`"
},
{
"Android XML": "`android:maxHeight`",
"HarmonyOS 属性": "`.constraintSize()`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:maxHeight=\"200dp\"`<br/>HarmonyOS: `Image($r('app.media.image')).constraintSize({ maxHeight: 200 })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:adjustViewBounds`",
"无直接对应",
"需自定义实现",
"使用尺寸约束"
],
[
"`android:maxWidth`",
"`.constraintSize()`",
"dp → vp",
"Android: `android:maxWidth=\"200dp\"`<br/>HarmonyOS: `Image($r('app.media.image')).constraintSize({ maxWidth: 200 })`"
],
[
"`android:maxHeight`",
"`.constraintSize()`",
"dp → vp",
"Android: `android:maxHeight=\"200dp\"`<br/>HarmonyOS: `Image($r('app.media.image')).constraintSize({ maxHeight: 200 })`"
]
]
},
{
"table_index": 45,
"rows": [
{
"Android XML": "`android:tint`",
"HarmonyOS 属性": "`.renderMode()` + `.colorFilter()`",
"类型转换": "Color → RenderMode",
"代码示例": "Android: `android:tint=\"#FF0000\"`<br/>HarmonyOS: `Image($r('app.media.image')).renderMode(ImageRenderMode.Template)`"
},
{
"Android XML": "`android:tintMode`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用渲染模式"
},
{
"Android XML": "`android:colorFilter`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用颜色滤镜 API"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:tint`",
"`.renderMode()` + `.colorFilter()`",
"Color → RenderMode",
"Android: `android:tint=\"#FF0000\"`<br/>HarmonyOS: `Image($r('app.media.image')).renderMode(ImageRenderMode.Template)`"
],
[
"`android:tintMode`",
"无直接对应",
"需自定义实现",
"使用渲染模式"
],
[
"`android:colorFilter`",
"无直接对应",
"需自定义实现",
"使用颜色滤镜 API"
]
]
},
{
"table_index": 46,
"rows": [
{
"Android XML": "`android:contentDescription`",
"HarmonyOS 属性": "`.alt()`",
"类型转换": "String → String",
"代码示例": "Android: `android:contentDescription=\"Image description\"`<br/>HarmonyOS: `Image($r('app.media.image')).alt('Image description')`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:contentDescription`",
"`.alt()`",
"String → String",
"Android: `android:contentDescription=\"Image description\"`<br/>HarmonyOS: `Image($r('app.media.image')).alt('Image description')`"
]
]
},
{
"table_index": 47,
"rows": [
{
"Android XML": "`android:cropToPadding`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用裁剪 API"
},
{
"Android XML": "`android:baseline`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用基线对齐 API"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:cropToPadding`",
"无直接对应",
"需自定义实现",
"使用裁剪 API"
],
[
"`android:baseline`",
"无直接对应",
"需自定义实现",
"使用基线对齐 API"
]
]
},
{
"table_index": 48,
"rows": [
{
"Android XML": "`android:layoutDirection`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用布局方向 API"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layoutDirection`",
"无直接对应",
"需自定义实现",
"使用布局方向 API"
]
]
},
{
"table_index": 49,
"rows": [
{
"Android 方法": "`setImageResource()`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "int → Resource",
"代码示例": "Android: `imageView.setImageResource(R.drawable.image)`<br/>HarmonyOS: `Image($r('app.media.image'))`"
},
{
"Android 方法": "`setImageURI()`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "String → String",
"代码示例": "Android: `imageView.setImageURI(\"https://example.com/image.jpg\")`<br/>HarmonyOS: `Image('https://example.com/image.jpg')`"
},
{
"Android 方法": "`setImageBitmap()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用 PixelMap"
},
{
"Android 方法": "`setImageDrawable()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用 Drawable"
}
],
"raw_table": [
[
"Android 方法",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`setImageResource()`",
"构造函数参数",
"int → Resource",
"Android: `imageView.setImageResource(R.drawable.image)`<br/>HarmonyOS: `Image($r('app.media.image'))`"
],
[
"`setImageURI()`",
"构造函数参数",
"String → String",
"Android: `imageView.setImageURI(\"https://example.com/image.jpg\")`<br/>HarmonyOS: `Image('https://example.com/image.jpg')`"
],
[
"`setImageBitmap()`",
"无直接对应",
"需自定义实现",
"使用 PixelMap"
],
[
"`setImageDrawable()`",
"无直接对应",
"需自定义实现",
"使用 Drawable"
]
]
},
{
"table_index": 50,
"rows": [
{
"Android 监听器": "`OnLoadCompleteListener`",
"HarmonyOS 属性": "`.onComplete()`",
"类型转换": "监听器 → 回调函数",
"代码示例": "Android: `setOnLoadCompleteListener(...)`<br/>HarmonyOS: `Image($r('app.media.image')).onComplete(() => { ... })`"
},
{
"Android 监听器": "`OnLoadFailedListener`",
"HarmonyOS 属性": "`.onError()`",
"类型转换": "监听器 → 回调函数",
"代码示例": "Android: `setOnLoadFailedListener(...)`<br/>HarmonyOS: `Image($r('app.media.image')).onError(() => { ... })`"
},
{
"Android 监听器": "`OnProgressListener`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用加载进度 API"
}
],
"raw_table": [
[
"Android 监听器",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`OnLoadCompleteListener`",
"`.onComplete()`",
"监听器 → 回调函数",
"Android: `setOnLoadCompleteListener(...)`<br/>HarmonyOS: `Image($r('app.media.image')).onComplete(() => { ... })`"
],
[
"`OnLoadFailedListener`",
"`.onError()`",
"监听器 → 回调函数",
"Android: `setOnLoadFailedListener(...)`<br/>HarmonyOS: `Image($r('app.media.image')).onError(() => { ... })`"
],
[
"`OnProgressListener`",
"无直接对应",
"需自定义实现",
"使用加载进度 API"
]
]
},
{
"table_index": 51,
"rows": [
{
"Android ScaleType": "`center`",
"HarmonyOS ImageFit": "`ImageFit.None`",
"说明": "不缩放,居中显示"
},
{
"Android ScaleType": "`centerCrop`",
"HarmonyOS ImageFit": "`ImageFit.Cover`",
"说明": "等比缩放,填满容器,裁剪超出部分"
},
{
"Android ScaleType": "`centerInside`",
"HarmonyOS ImageFit": "`ImageFit.Contain`",
"说明": "等比缩放,完整显示在容器内"
},
{
"Android ScaleType": "`fitCenter`",
"HarmonyOS ImageFit": "`ImageFit.Contain`",
"说明": "等比缩放,居中显示"
},
{
"Android ScaleType": "`fitXY`",
"HarmonyOS ImageFit": "`ImageFit.Fill`",
"说明": "拉伸填满容器"
},
{
"Android ScaleType": "`fitStart`",
"HarmonyOS ImageFit": "`ImageFit.Contain`",
"说明": "等比缩放,靠上/靠左显示"
},
{
"Android ScaleType": "`fitEnd`",
"HarmonyOS ImageFit": "`ImageFit.Contain`",
"说明": "等比缩放,靠下/靠右显示"
}
],
"raw_table": [
[
"Android ScaleType",
"HarmonyOS ImageFit",
"说明"
],
[
"`center`",
"`ImageFit.None`",
"不缩放,居中显示"
],
[
"`centerCrop`",
"`ImageFit.Cover`",
"等比缩放,填满容器,裁剪超出部分"
],
[
"`centerInside`",
"`ImageFit.Contain`",
"等比缩放,完整显示在容器内"
],
[
"`fitCenter`",
"`ImageFit.Contain`",
"等比缩放,居中显示"
],
[
"`fitXY`",
"`ImageFit.Fill`",
"拉伸填满容器"
],
[
"`fitStart`",
"`ImageFit.Contain`",
"等比缩放,靠上/靠左显示"
],
[
"`fitEnd`",
"`ImageFit.Contain`",
"等比缩放,靠下/靠右显示"
]
]
},
{
"table_index": 52,
"rows": [
{
"Android XML": "`android:alpha`",
"HarmonyOS 属性": "`.opacity()`",
"类型转换": "float (0-1) → number (0-1)",
"代码示例": "Android: `android:alpha=\"0.5\"`<br/>HarmonyOS: `Image($r('app.media.image')).opacity(0.5)`"
},
{
"Android XML": "`android:rotation`",
"HarmonyOS 属性": "`.rotate()`",
"类型转换": "float → { angle: number }",
"代码示例": "Android: `android:rotation=\"90\"`<br/>HarmonyOS: `Image($r('app.media.image')).rotate({ angle: 90 })`"
},
{
"Android XML": "`android:scaleX`",
"HarmonyOS 属性": "`.scale()`",
"类型转换": "float → { x: number }",
"代码示例": "Android: `android:scaleX=\"1.5\"`<br/>HarmonyOS: `Image($r('app.media.image')).scale({ x: 1.5 })`"
},
{
"Android XML": "`android:scaleY`",
"HarmonyOS 属性": "`.scale()`",
"类型转换": "float → { y: number }",
"代码示例": "Android: `android:scaleY=\"1.5\"`<br/>HarmonyOS: `Image($r('app.media.image')).scale({ y: 1.5 })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:alpha`",
"`.opacity()`",
"float (0-1) → number (0-1)",
"Android: `android:alpha=\"0.5\"`<br/>HarmonyOS: `Image($r('app.media.image')).opacity(0.5)`"
],
[
"`android:rotation`",
"`.rotate()`",
"float → { angle: number }",
"Android: `android:rotation=\"90\"`<br/>HarmonyOS: `Image($r('app.media.image')).rotate({ angle: 90 })`"
],
[
"`android:scaleX`",
"`.scale()`",
"float → { x: number }",
"Android: `android:scaleX=\"1.5\"`<br/>HarmonyOS: `Image($r('app.media.image')).scale({ x: 1.5 })`"
],
[
"`android:scaleY`",
"`.scale()`",
"float → { y: number }",
"Android: `android:scaleY=\"1.5\"`<br/>HarmonyOS: `Image($r('app.media.image')).scale({ y: 1.5 })`"
]
]
},
{
"table_index": 53,
"rows": [
{
"Android XML": "`android:background`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用 `.border()` 和 `.borderRadius()`"
},
{
"Android XML": "无直接对应",
"HarmonyOS 属性": "`.borderRadius()`",
"类型转换": "需自定义实现",
"代码示例": "Android: 使用 ShapeDrawable<br/>HarmonyOS: `Image($r('app.media.image')).borderRadius(8)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:background`",
"无直接对应",
"需自定义实现",
"使用 `.border()` 和 `.borderRadius()`"
],
[
"无直接对应",
"`.borderRadius()`",
"需自定义实现",
"Android: 使用 ShapeDrawable<br/>HarmonyOS: `Image($r('app.media.image')).borderRadius(8)`"
]
]
},
{
"table_index": 54,
"rows": [
{
"Android XML": "`android:tileMode`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用 `.objectRepeat()`"
},
{
"Android XML": "无直接对应",
"HarmonyOS 属性": "`.objectRepeat()`",
"类型转换": "需自定义实现",
"代码示例": "Android: `android:tileMode=\"repeat\"`<br/>HarmonyOS: `Image($r('app.media.image')).objectRepeat(ImageRepeat.XY)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:tileMode`",
"无直接对应",
"需自定义实现",
"使用 `.objectRepeat()`"
],
[
"无直接对应",
"`.objectRepeat()`",
"需自定义实现",
"Android: `android:tileMode=\"repeat\"`<br/>HarmonyOS: `Image($r('app.media.image')).objectRepeat(ImageRepeat.XY)`"
]
]
},
{
"table_index": 55,
"rows": [
{
"映射类型": "直接映射",
"数量": "15",
"占比": "~40%"
},
{
"映射类型": "需类型转换",
"数量": "10",
"占比": "~27%"
},
{
"映射类型": "需组合实现",
"数量": "8",
"占比": "~22%"
},
{
"映射类型": "无直接对应",
"数量": "5",
"占比": "~13%"
},
{
"映射类型": "**总计**",
"数量": "**38**",
"占比": "**100%**"
}
],
"raw_table": [
[
"映射类型",
"数量",
"占比"
],
[
"直接映射",
"15",
"~40%"
],
[
"需类型转换",
"10",
"~27%"
],
[
"需组合实现",
"8",
"~22%"
],
[
"无直接对应",
"5",
"~13%"
],
[
"**总计**",
"**38**",
"**100%**"
]
]
},
{
"table_index": 56,
"rows": [
{
"Android 组件": "Spinner",
"类名": "`android.widget.Spinner`",
"HarmonyOS 组件": "`Select`",
"替代方案": "直接映射",
"说明": "下拉选择框"
},
{
"Android 组件": "DatePicker",
"类名": "`android.widget.DatePicker`",
"HarmonyOS 组件": "`DatePicker`",
"替代方案": "直接映射",
"说明": "日期选择器"
},
{
"Android 组件": "TimePicker",
"类名": "`android.widget.TimePicker`",
"HarmonyOS 组件": "`TimePicker`",
"替代方案": "直接映射",
"说明": "时间选择器"
},
{
"Android 组件": "CalendarView",
"类名": "`android.widget.CalendarView`",
"HarmonyOS 组件": "`CalendarPicker`",
"替代方案": "直接映射",
"说明": "日历视图"
},
{
"Android 组件": "NumberPicker",
"类名": "`android.widget.NumberPicker`",
"HarmonyOS 组件": "`TextPicker`",
"替代方案": "配合数字数组",
"说明": "数字选择器"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"Spinner",
"`android.widget.Spinner`",
"`Select`",
"直接映射",
"下拉选择框"
],
[
"DatePicker",
"`android.widget.DatePicker`",
"`DatePicker`",
"直接映射",
"日期选择器"
],
[
"TimePicker",
"`android.widget.TimePicker`",
"`TimePicker`",
"直接映射",
"时间选择器"
],
[
"CalendarView",
"`android.widget.CalendarView`",
"`CalendarPicker`",
"直接映射",
"日历视图"
],
[
"NumberPicker",
"`android.widget.NumberPicker`",
"`TextPicker`",
"配合数字数组",
"数字选择器"
]
]
},
{
"table_index": 57,
"rows": [
{
"Android XML": "`android:entries`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "reference → array",
"代码示例": "Android: `android:entries=\"@array/items\"`<br/>HarmonyOS: `Select({ options: ['item1', 'item2'] })`"
},
{
"Android XML": "`android:prompt`",
"HarmonyOS 属性": "`.placeholder()`",
"类型转换": "string → string",
"代码示例": "Android: `android:prompt=\"Select an item\"`<br/>HarmonyOS: `Select({ placeholder: 'Select an item' })`"
},
{
"Android XML": "无直接对应",
"HarmonyOS 属性": "`selected`",
"类型转换": "无 → number",
"代码示例": "Android: `setSelection(0)`<br/>HarmonyOS: `Select({ selected: 0 })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:entries`",
"构造函数参数",
"reference → array",
"Android: `android:entries=\"@array/items\"`<br/>HarmonyOS: `Select({ options: ['item1', 'item2'] })`"
],
[
"`android:prompt`",
"`.placeholder()`",
"string → string",
"Android: `android:prompt=\"Select an item\"`<br/>HarmonyOS: `Select({ placeholder: 'Select an item' })`"
],
[
"无直接对应",
"`selected`",
"无 → number",
"Android: `setSelection(0)`<br/>HarmonyOS: `Select({ selected: 0 })`"
]
]
},
{
"table_index": 58,
"rows": [
{
"Android XML": "`android:spinnerMode`",
"HarmonyOS 属性": "无直接对应",
"类型转换器": "enum → 无",
"代码示例": "Android: `android:spinnerMode=\"dropdown\"`<br/>HarmonyOS: Select 始终是下拉式"
},
{
"Android XML": "`android:spinnerMode=\"dialog\"`",
"HarmonyOS 属性": "无直接对应",
"类型转换器": "enum → 无",
"代码示例": "Android: `android:spinnerMode=\"dialog\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换器",
"代码示例"
],
[
"`android:spinnerMode`",
"无直接对应",
"enum → 无",
"Android: `android:spinnerMode=\"dropdown\"`<br/>HarmonyOS: Select 始终是下拉式"
],
[
"`android:spinnerMode=\"dialog\"`",
"无直接对应",
"enum → 无",
"Android: `android:spinnerMode=\"dialog\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 59,
"rows": [
{
"Android XML": "`android:dropDownSelector`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "reference → stateStyles",
"代码示例": "Android: `android:dropDownSelector=\"@drawable/selector\"`<br/>HarmonyOS: `Select().stateStyles({ ... })`"
},
{
"Android XML": "`android:dropDownVerticalOffset`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "dimension → 无",
"代码示例": "Android: `android:dropDownVerticalOffset=\"10dp\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:dropDownHorizontalOffset`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "dimension → 无",
"代码示例": "Android: `android:dropDownHorizontalOffset=\"10dp\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:dropDownWidth`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "dimension → 无",
"代码示例": "Android: `android:dropDownWidth=\"200dp\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:dropDownHeight`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "dimension → 无",
"代码示例": "Android: `android:dropDownHeight=\"300dp\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:popupBackground`",
"HarmonyOS 属性": "`.backgroundColor()`",
"类型转换": "reference/color → ResourceColor",
"代码示例": "Android: `android:popupBackground=\"@drawable/popup_bg\"`<br/>HarmonyOS: `Select().backgroundColor('#FFFFFF')`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:dropDownSelector`",
"无直接对应",
"reference → stateStyles",
"Android: `android:dropDownSelector=\"@drawable/selector\"`<br/>HarmonyOS: `Select().stateStyles({ ... })`"
],
[
"`android:dropDownVerticalOffset`",
"无直接对应",
"dimension → 无",
"Android: `android:dropDownVerticalOffset=\"10dp\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:dropDownHorizontalOffset`",
"无直接对应",
"dimension → 无",
"Android: `android:dropDownHorizontalOffset=\"10dp\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:dropDownWidth`",
"无直接对应",
"dimension → 无",
"Android: `android:dropDownWidth=\"200dp\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:dropDownHeight`",
"无直接对应",
"dimension → 无",
"Android: `android:dropDownHeight=\"300dp\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:popupBackground`",
"`.backgroundColor()`",
"reference/color → ResourceColor",
"Android: `android:popupBackground=\"@drawable/popup_bg\"`<br/>HarmonyOS: `Select().backgroundColor('#FFFFFF')`"
]
]
},
{
"table_index": 60,
"rows": [
{
"Android XML": "`android:gravity`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 无",
"代码示例": "Android: `android:gravity=\"center\"`<br/>HarmonyOS: 使用 `.textAlign()`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:gravity`",
"无直接对应",
"enum → 无",
"Android: `android:gravity=\"center\"`<br/>HarmonyOS: 使用 `.textAlign()`"
]
]
},
{
"table_index": 61,
"rows": [
{
"Android 方法": "`setAdapter()`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "SpinnerAdapter → array",
"代码示例": "Android: `spinner.setAdapter(adapter)`<br/>HarmonyOS: `Select({ options: [...] })`"
},
{
"Android 方法": "`setOnItemSelectedListener()`",
"HarmonyOS 属性": "`.onSelect()`",
"类型转换": "listener → callback",
"代码示例": "Android: `setOnItemSelectedListener(...)`<br/>HarmonyOS: `Select().onSelect((index: number, value?: string) => { ... })`"
},
{
"Android 方法": "`setSelection(int)`",
"HarmonyOS 属性": "`selected`",
"类型转换": "int → number",
"代码示例": "Android: `setSelection(0)`<br/>HarmonyOS: 更新状态变量 `this.selectedIndex = 0`"
},
{
"Android 方法": "`getSelectedItem()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "无 → 状态变量",
"代码示例": "Android: `getSelectedItem()`<br/>HarmonyOS: `this.options[this.selectedIndex]`"
},
{
"Android 方法": "`getSelectedItemPosition()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "无 → 状态变量",
"代码示例": "Android: `getSelectedItemPosition()`<br/>HarmonyOS: `this.selectedIndex`"
},
{
"Android 方法": "`setPrompt()`",
"HarmonyOS 属性": "`.placeholder()`",
"类型转换": "CharSequence → string",
"代码示例": "Android: `setPrompt(\"Select\")`<br/>HarmonyOS: `Select().placeholder('Select')`"
},
{
"Android 方法": "`setEnabled()`",
"HarmonyOS 属性": "`.enabled()`",
"类型转换": "boolean → boolean",
"代码示例": "Android: `setEnabled(false)`<br/>HarmonyOS: `Select().enabled(false)`"
}
],
"raw_table": [
[
"Android 方法",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`setAdapter()`",
"构造函数参数",
"SpinnerAdapter → array",
"Android: `spinner.setAdapter(adapter)`<br/>HarmonyOS: `Select({ options: [...] })`"
],
[
"`setOnItemSelectedListener()`",
"`.onSelect()`",
"listener → callback",
"Android: `setOnItemSelectedListener(...)`<br/>HarmonyOS: `Select().onSelect((index: number, value?: string) => { ... })`"
],
[
"`setSelection(int)`",
"`selected`",
"int → number",
"Android: `setSelection(0)`<br/>HarmonyOS: 更新状态变量 `this.selectedIndex = 0`"
],
[
"`getSelectedItem()`",
"无直接对应",
"无 → 状态变量",
"Android: `getSelectedItem()`<br/>HarmonyOS: `this.options[this.selectedIndex]`"
],
[
"`getSelectedItemPosition()`",
"无直接对应",
"无 → 状态变量",
"Android: `getSelectedItemPosition()`<br/>HarmonyOS: `this.selectedIndex`"
],
[
"`setPrompt()`",
"`.placeholder()`",
"CharSequence → string",
"Android: `setPrompt(\"Select\")`<br/>HarmonyOS: `Select().placeholder('Select')`"
],
[
"`setEnabled()`",
"`.enabled()`",
"boolean → boolean",
"Android: `setEnabled(false)`<br/>HarmonyOS: `Select().enabled(false)`"
]
]
},
{
"table_index": 62,
"rows": [
{
"Android XML": "`android:year`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "int → Date",
"代码示例": "Android: `android:year=\"2024\"`<br/>HarmonyOS: `DatePicker({ selected: new Date(2024, 0, 1) })`"
},
{
"Android XML": "`android:month`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "int → Date",
"代码示例": "Android: `android:month=\"0\"`<br/>HarmonyOS: `DatePicker({ selected: new Date(2024, 0, 1) })`"
},
{
"Android XML": "`android:day`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "int → Date",
"代码示例": "Android: `android:day=\"1\"`<br/>HarmonyOS: `DatePicker({ selected: new Date(2024, 0, 1) })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:year`",
"构造函数参数",
"int → Date",
"Android: `android:year=\"2024\"`<br/>HarmonyOS: `DatePicker({ selected: new Date(2024, 0, 1) })`"
],
[
"`android:month`",
"构造函数参数",
"int → Date",
"Android: `android:month=\"0\"`<br/>HarmonyOS: `DatePicker({ selected: new Date(2024, 0, 1) })`"
],
[
"`android:day`",
"构造函数参数",
"int → Date",
"Android: `android:day=\"1\"`<br/>HarmonyOS: `DatePicker({ selected: new Date(2024, 0, 1) })`"
]
]
},
{
"table_index": 63,
"rows": [
{
"Android XML": "`android:minDate`",
"HarmonyOS 属性": "`.minDate()`",
"类型转换": "long → Date",
"代码示例": "Android: `android:minDate=\"946684800000\"`<br/>HarmonyOS: `DatePicker({ minDate: new Date(2000, 0, 1) })`"
},
{
"Android XML": "`android:maxDate`",
"HarmonyOS 属性": "`.maxDate()`",
"类型转换": "long → Date",
"代码示例": "Android: `android:maxDate=\"2524608000000\"`<br/>HarmonyOS: `DatePicker({ maxDate: new Date(2050, 11, 31) })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:minDate`",
"`.minDate()`",
"long → Date",
"Android: `android:minDate=\"946684800000\"`<br/>HarmonyOS: `DatePicker({ minDate: new Date(2000, 0, 1) })`"
],
[
"`android:maxDate`",
"`.maxDate()`",
"long → Date",
"Android: `android:maxDate=\"2524608000000\"`<br/>HarmonyOS: `DatePicker({ maxDate: new Date(2050, 11, 31) })`"
]
]
},
{
"table_index": 64,
"rows": [
{
"Android XML": "`android:datePickerMode`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 无",
"代码示例": "Android: `android:datePickerMode=\"spinner\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:calendarViewShown`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 无",
"代码示例": "Android: `android:calendarViewShown=\"true\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:datePickerMode`",
"无直接对应",
"enum → 无",
"Android: `android:datePickerMode=\"spinner\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:calendarViewShown`",
"无直接对应",
"boolean → 无",
"Android: `android:calendarViewShown=\"true\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 65,
"rows": [
{
"Android 方法": "`init()`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "(int, int, int) → Date",
"代码示例": "Android: `init(2024, 0, 1, listener)`<br/>HarmonyOS: `DatePicker({ selected: new Date(2024, 0, 1) })`"
},
{
"Android 方法": "`updateDate()`",
"HarmonyOS 属性": "更新状态变量",
"类型转换": "(int, int, int) → Date",
"代码示例": "Android: `updateDate(2024, 0, 1)`<br/>HarmonyOS: `this.selectedDate = new Date(2024, 0, 1)`"
},
{
"Android 方法": "`getYear()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "无 → 状态变量",
"代码示例": "Android: `getYear()`<br/>HarmonyOS: `this.selectedDate.getFullYear()`"
},
{
"Android 方法": "`getMonth()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "无 → 状态变量",
"代码示例": "Android: `getMonth()`<br/>HarmonyOS: `this.selectedDate.getMonth()`"
},
{
"Android 方法": "`getDayOfMonth()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "无 → 状态变量",
"代码示例": "Android: `getDayOfMonth()`<br/>HarmonyOS: `this.selectedDate.getDate()`"
},
{
"Android 方法": "`setOnDateChangedListener()`",
"HarmonyOS 属性": "`.onChange()`",
"类型转换": "listener → callback",
"代码示例": "Android: `setOnDateChangedListener(...)`<br/>HarmonyOS: `DatePicker().onChange((value: Date) => { ... })`"
}
],
"raw_table": [
[
"Android 方法",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`init()`",
"构造函数参数",
"(int, int, int) → Date",
"Android: `init(2024, 0, 1, listener)`<br/>HarmonyOS: `DatePicker({ selected: new Date(2024, 0, 1) })`"
],
[
"`updateDate()`",
"更新状态变量",
"(int, int, int) → Date",
"Android: `updateDate(2024, 0, 1)`<br/>HarmonyOS: `this.selectedDate = new Date(2024, 0, 1)`"
],
[
"`getYear()`",
"无直接对应",
"无 → 状态变量",
"Android: `getYear()`<br/>HarmonyOS: `this.selectedDate.getFullYear()`"
],
[
"`getMonth()`",
"无直接对应",
"无 → 状态变量",
"Android: `getMonth()`<br/>HarmonyOS: `this.selectedDate.getMonth()`"
],
[
"`getDayOfMonth()`",
"无直接对应",
"无 → 状态变量",
"Android: `getDayOfMonth()`<br/>HarmonyOS: `this.selectedDate.getDate()`"
],
[
"`setOnDateChangedListener()`",
"`.onChange()`",
"listener → callback",
"Android: `setOnDateChangedListener(...)`<br/>HarmonyOS: `DatePicker().onChange((value: Date) => { ... })`"
]
]
},
{
"table_index": 66,
"rows": [
{
"Android XML": "`android:hour`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "int → number",
"代码示例": "Android: `android:hour=\"12\"`<br/>HarmonyOS: `TimePicker({ selected: new Date(2024, 0, 1, 12, 0, 0) })`"
},
{
"Android XML": "`android:minute`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "int → number",
"代码示例": "Android: `android:minute=\"30\"`<br/>HarmonyOS: `TimePicker({ selected: new Date(2024, 0, 1, 12, 30, 0) })`"
},
{
"Android XML": "`android:second`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "int → number",
"代码示例": "Android: `android:second=\"0\"`<br/>HarmonyOS: `TimePicker({ selected: new Date(2024, 0, 1, 12, 30, 0) })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:hour`",
"构造函数参数",
"int → number",
"Android: `android:hour=\"12\"`<br/>HarmonyOS: `TimePicker({ selected: new Date(2024, 0, 1, 12, 0, 0) })`"
],
[
"`android:minute`",
"构造函数参数",
"int → number",
"Android: `android:minute=\"30\"`<br/>HarmonyOS: `TimePicker({ selected: new Date(2024, 0, 1, 12, 30, 0) })`"
],
[
"`android:second`",
"构造函数参数",
"int → number",
"Android: `android:second=\"0\"`<br/>HarmonyOS: `TimePicker({ selected: new Date(2024, 0, 1, 12, 30, 0) })`"
]
]
},
{
"table_index": 67,
"rows": [
{
"Android XML": "`android:format`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "string → 无",
"代码示例": "Android: `android:format=\"24\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:is24HourView`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 无",
"代码示例": "Android: `android:is24HourView=\"true\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:format`",
"无直接对应",
"string → 无",
"Android: `android:format=\"24\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:is24HourView`",
"无直接对应",
"boolean → 无",
"Android: `android:is24HourView=\"true\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 68,
"rows": [
{
"Android 方法": "`setOnTimeChangedListener()`",
"HarmonyOS 属性": "`.onChange()`",
"类型转换": "listener → callback",
"代码示例": "Android: `setOnTimeChangedListener(...)`<br/>HarmonyOS: `TimePicker().onChange((value: Date) => { ... })`"
},
{
"Android 方法": "`getHour()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "无 → 状态变量",
"代码示例": "Android: `getHour()`<br/>HarmonyOS: `this.selectedDate.getHours()`"
},
{
"Android 方法": "`getMinute()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "无 → 状态变量",
"代码示例": "Android: `getMinute()`<br/>HarmonyOS: `this.selectedDate.getMinutes()`"
},
{
"Android 方法": "`getSecond()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "无 → 状态变量",
"代码示例": "Android: `getSecond()`<br/>HarmonyOS: `this.selectedDate.getSeconds()`"
}
],
"raw_table": [
[
"Android 方法",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`setOnTimeChangedListener()`",
"`.onChange()`",
"listener → callback",
"Android: `setOnTimeChangedListener(...)`<br/>HarmonyOS: `TimePicker().onChange((value: Date) => { ... })`"
],
[
"`getHour()`",
"无直接对应",
"无 → 状态变量",
"Android: `getHour()`<br/>HarmonyOS: `this.selectedDate.getHours()`"
],
[
"`getMinute()`",
"无直接对应",
"无 → 状态变量",
"Android: `getMinute()`<br/>HarmonyOS: `this.selectedDate.getMinutes()`"
],
[
"`getSecond()`",
"无直接对应",
"无 → 状态变量",
"Android: `getSecond()`<br/>HarmonyOS: `this.selectedDate.getSeconds()`"
]
]
},
{
"table_index": 69,
"rows": [
{
"Android XML": "`android:minDate`",
"HarmonyOS 属性": "`.minDate()`",
"类型转换": "long → Date",
"代码示例": "Android: `android:minDate=\"946684800000\"`<br/>HarmonyOS: `CalendarPicker({ minDate: new Date(2000, 0, 1) })`"
},
{
"Android XML": "`android:maxDate`",
"HarmonyOS 属性": "`.maxDate()`",
"类型转换": "long → Date",
"代码示例": "Android: `android:maxDate=\"2524608000000\"`<br/>HarmonyOS: `CalendarPicker({ maxDate: new Date(2050, 11, 31) })`"
},
{
"Android XML": "`android:firstDayOfWeek`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "int → 无",
"代码示例": "Android: `android:firstDayOfWeek=\"1\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:minDate`",
"`.minDate()`",
"long → Date",
"Android: `android:minDate=\"946684800000\"`<br/>HarmonyOS: `CalendarPicker({ minDate: new Date(2000, 0, 1) })`"
],
[
"`android:maxDate`",
"`.maxDate()`",
"long → Date",
"Android: `android:maxDate=\"2524608000000\"`<br/>HarmonyOS: `CalendarPicker({ maxDate: new Date(2050, 11, 31) })`"
],
[
"`android:firstDayOfWeek`",
"无直接对应",
"int → 无",
"Android: `android:firstDayOfWeek=\"1\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 70,
"rows": [
{
"Android XML": "`android:shownWeekCount`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "int → 无",
"代码示例": "Android: `android:shownWeekCount=\"4\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:weekNumberColor`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "color → 无",
"代码示例": "Android: `android:weekNumberColor=\"#FF0000\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:shownWeekCount`",
"无直接对应",
"int → 无",
"Android: `android:shownWeekCount=\"4\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:weekNumberColor`",
"无直接对应",
"color → 无",
"Android: `android:weekNumberColor=\"#FF0000\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 71,
"rows": [
{
"Android 方法": "`setOnDateChangeListener()`",
"HarmonyOS 属性": "`.onChange()`",
"类型转换": "listener → callback",
"代码示例": "Android: `setOnDateChangeListener(...)`<br/>HarmonyOS: `CalendarPicker().onChange((value: Date) => { ... })`"
},
{
"Android 方法": "`setDate()`",
"HarmonyOS 属性": "更新状态变量",
"类型转换": "Calendar → Date",
"代码示例": "Android: `setDate(calendar)`<br/>HarmonyOS: `this.selectedDate = calendar.getTime()`"
}
],
"raw_table": [
[
"Android 方法",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`setOnDateChangeListener()`",
"`.onChange()`",
"listener → callback",
"Android: `setOnDateChangeListener(...)`<br/>HarmonyOS: `CalendarPicker().onChange((value: Date) => { ... })`"
],
[
"`setDate()`",
"更新状态变量",
"Calendar → Date",
"Android: `setDate(calendar)`<br/>HarmonyOS: `this.selectedDate = calendar.getTime()`"
]
]
},
{
"table_index": 72,
"rows": [
{
"Android XML": "`android:minValue`",
"HarmonyOS 属性": "`range`",
"类型转换": "int → [number, number]",
"代码示例": "Android: `android:minValue=\"0\"`<br/>HarmonyOS: `TextPicker({ range: [0, 100] })`"
},
{
"Android XML": "`android:maxValue`",
"HarmonyOS 属性": "`range`",
"类型转换": "int → [number, number]",
"代码示例": "Android: `android:maxValue=\"100\"`<br/>HarmonyOS: `TextPicker({ range: [0, 100] })`"
},
{
"Android XML": "`android:wrapSelectorWheel`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 无",
"代码示例": "Android: `android:wrapSelectorWheel=\"true\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:minValue`",
"`range`",
"int → [number, number]",
"Android: `android:minValue=\"0\"`<br/>HarmonyOS: `TextPicker({ range: [0, 100] })`"
],
[
"`android:maxValue`",
"`range`",
"int → [number, number]",
"Android: `android:maxValue=\"100\"`<br/>HarmonyOS: `TextPicker({ range: [0, 100] })`"
],
[
"`android:wrapSelectorWheel`",
"无直接对应",
"boolean → 无",
"Android: `android:wrapSelectorWheel=\"true\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 73,
"rows": [
{
"Android XML": "`android:displayedValues`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "array → array",
"代码示例": "Android: `android:displayedValues=\"@array/numbers\"`<br/>HarmonyOS: `TextPicker({ range: [1, 2, 3, 4, 5] })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:displayedValues`",
"构造函数参数",
"array → array",
"Android: `android:displayedValues=\"@array/numbers\"`<br/>HarmonyOS: `TextPicker({ range: [1, 2, 3, 4, 5] })`"
]
]
},
{
"table_index": 74,
"rows": [
{
"Android 方法": "`setDisplayedValues()`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "array → array",
"代码示例": "Android: `setDisplayedValues(values)`<br/>HarmonyOS: `TextPicker({ range: values })`"
},
{
"Android 方法": "`setOnValueChangedListener()`",
"HarmonyOS 属性": "`.onChange()`",
"类型转换": "listener → callback",
"代码示例": "Android: `setOnValueChangedListener(...)`<br/>HarmonyOS: `TextPicker().onChange((value: string) => { ... })`"
},
{
"Android 方法": "`setValue()`",
"HarmonyOS 属性": "更新状态变量",
"类型转换": "int → number",
"代码示例": "Android: `setValue(50)`<br/>HarmonyOS: `this.selectedValue = 50`"
},
{
"Android 方法": "`getValue()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "无 → 状态变量",
"代码示例": "Android: `getValue()`<br/>HarmonyOS: `this.selectedValue`"
}
],
"raw_table": [
[
"Android 方法",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`setDisplayedValues()`",
"构造函数参数",
"array → array",
"Android: `setDisplayedValues(values)`<br/>HarmonyOS: `TextPicker({ range: values })`"
],
[
"`setOnValueChangedListener()`",
"`.onChange()`",
"listener → callback",
"Android: `setOnValueChangedListener(...)`<br/>HarmonyOS: `TextPicker().onChange((value: string) => { ... })`"
],
[
"`setValue()`",
"更新状态变量",
"int → number",
"Android: `setValue(50)`<br/>HarmonyOS: `this.selectedValue = 50`"
],
[
"`getValue()`",
"无直接对应",
"无 → 状态变量",
"Android: `getValue()`<br/>HarmonyOS: `this.selectedValue`"
]
]
},
{
"table_index": 75,
"rows": [
{
"映射类型": "直接映射",
"数量": "25",
"占比": "~45%"
},
{
"映射类型": "需类型转换",
"数量": "15",
"占比": "~27%"
},
{
"映射类型": "需组合实现",
"数量": "10",
"占比": "~18%"
},
{
"映射类型": "无直接对应",
"数量": "5",
"占比": "~10%"
},
{
"映射类型": "**总计**",
"数量": "**55**",
"占比": "**100%**"
}
],
"raw_table": [
[
"映射类型",
"数量",
"占比"
],
[
"直接映射",
"25",
"~45%"
],
[
"需类型转换",
"15",
"~27%"
],
[
"需组合实现",
"10",
"~18%"
],
[
"无直接对应",
"5",
"~10%"
],
[
"**总计**",
"**55**",
"**100%**"
]
]
},
{
"table_index": 76,
"rows": [
{
"Android 组件": "ProgressBar",
"类名": "`android.widget.ProgressBar`",
"HarmonyOS 组件": "`Progress`",
"替代方案": "直接映射",
"说明": "进度条"
},
{
"Android 组件": "SeekBar",
"类名": "`android.widget.SeekBar`",
"HarmonyOS 组件": "`Slider`",
"替代方案": "直接映射",
"说明": "可拖动进度条"
},
{
"Android 组件": "RatingBar",
"类名": "`android.widget.RatingBar`",
"HarmonyOS 组件": "`Rating`",
"替代方案": "直接映射",
"说明": "评分条"
},
{
"Android 组件": "ContentLoadingProgressBar",
"类名": "`android.widget.ContentLoadingProgressBar`",
"HarmonyOS 组件": "`Progress` + `LoadingProgress`",
"替代方案": "组合实现",
"说明": "内容加载进度条"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"ProgressBar",
"`android.widget.ProgressBar`",
"`Progress`",
"直接映射",
"进度条"
],
[
"SeekBar",
"`android.widget.SeekBar`",
"`Slider`",
"直接映射",
"可拖动进度条"
],
[
"RatingBar",
"`android.widget.RatingBar`",
"`Rating`",
"直接映射",
"评分条"
],
[
"ContentLoadingProgressBar",
"`android.widget.ContentLoadingProgressBar`",
"`Progress` + `LoadingProgress`",
"组合实现",
"内容加载进度条"
]
]
},
{
"table_index": 77,
"rows": [
{
"Android XML": "`android:max`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "int → number",
"代码示例": "Android: `android:max=\"100\"`<br/>HarmonyOS: `Progress({ value: 50, total: 100 })`"
},
{
"Android XML": "`android:progress`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "int → number",
"代码示例": "Android: `android:progress=\"50\"`<br/>HarmonyOS: `Progress({ value: 50, total: 100 })`"
},
{
"Android XML": "`android:secondaryProgress`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "int → 无",
"代码示例": "Android: `android:secondaryProgress=\"75\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:max`",
"构造函数参数",
"int → number",
"Android: `android:max=\"100\"`<br/>HarmonyOS: `Progress({ value: 50, total: 100 })`"
],
[
"`android:progress`",
"构造函数参数",
"int → number",
"Android: `android:progress=\"50\"`<br/>HarmonyOS: `Progress({ value: 50, total: 100 })`"
],
[
"`android:secondaryProgress`",
"无直接对应",
"int → 无",
"Android: `android:secondaryProgress=\"75\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 78,
"rows": [
{
"Android XML": "`android:indeterminate`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "boolean → boolean",
"代码示例": "Android: `android:indeterminate=\"true\"`<br/>HarmonyOS: `Progress({ value: 0, total: 100, type: ProgressType.Ring })`"
},
{
"Android XML": "`android:indeterminateOnly`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 无",
"代码示例": "Android: `android:indeterminateOnly=\"true\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:indeterminateDuration`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "int → 无",
"代码示例": "Android: `android:indeterminateDuration=\"2000\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:indeterminateBehavior`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 无",
"代码示例": "Android: `android:indeterminateBehavior=\"repeat\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:indeterminate`",
"构造函数参数",
"boolean → boolean",
"Android: `android:indeterminate=\"true\"`<br/>HarmonyOS: `Progress({ value: 0, total: 100, type: ProgressType.Ring })`"
],
[
"`android:indeterminateOnly`",
"无直接对应",
"boolean → 无",
"Android: `android:indeterminateOnly=\"true\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:indeterminateDuration`",
"无直接对应",
"int → 无",
"Android: `android:indeterminateDuration=\"2000\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:indeterminateBehavior`",
"无直接对应",
"enum → 无",
"Android: `android:indeterminateBehavior=\"repeat\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 79,
"rows": [
{
"Android XML": "`android:progressDrawable`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "reference → 无",
"代码示例": "Android: `android:progressDrawable=\"@drawable/progress\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:indeterminateDrawable`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "reference → 无",
"代码示例": "Android: `android:indeterminateDrawable=\"@drawable/indeterminate\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:progressTint`",
"HarmonyOS 属性": "`.color()`",
"类型转换": "color → ResourceColor",
"代码示例": "Android: `android:progressTint=\"#FF6200\"`<br/>HarmonyOS: `Progress({ value: 50, total: 100 }).color('#FF6200')`"
},
{
"Android XML": "`android:progressTintMode`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 无",
"代码示例": "Android: `android:progressTintMode=\"src_in\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:secondaryProgressTint`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "color → 无",
"代码示例": "Android: `android:secondaryProgressTint=\"#00FF00\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:progressBackgroundTint`",
"HarmonyOS 属性": "`.backgroundColor()`",
"类型转换": "color → ResourceColor",
"代码示例": "Android: `android:progressBackgroundTint=\"#E0E0E0\"`<br/>HarmonyOS: `Progress({ value: 50, total: 100 }).backgroundColor('#E0E0E0')`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:progressDrawable`",
"无直接对应",
"reference → 无",
"Android: `android:progressDrawable=\"@drawable/progress\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:indeterminateDrawable`",
"无直接对应",
"reference → 无",
"Android: `android:indeterminateDrawable=\"@drawable/indeterminate\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:progressTint`",
"`.color()`",
"color → ResourceColor",
"Android: `android:progressTint=\"#FF6200\"`<br/>HarmonyOS: `Progress({ value: 50, total: 100 }).color('#FF6200')`"
],
[
"`android:progressTintMode`",
"无直接对应",
"enum → 无",
"Android: `android:progressTintMode=\"src_in\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:secondaryProgressTint`",
"无直接对应",
"color → 无",
"Android: `android:secondaryProgressTint=\"#00FF00\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:progressBackgroundTint`",
"`.backgroundColor()`",
"color → ResourceColor",
"Android: `android:progressBackgroundTint=\"#E0E0E0\"`<br/>HarmonyOS: `Progress({ value: 50, total: 100 }).backgroundColor('#E0E0E0')`"
]
]
},
{
"table_index": 80,
"rows": [
{
"Android 方法": "`setMax(int max)`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "int → number",
"代码示例": "Android: `progressBar.setMax(100)`<br/>HarmonyOS: `Progress({ value: this.progress, total: 100 })`"
},
{
"Android 方法": "`getMax()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "void → number",
"代码示例": "Android: `int max = progressBar.getMax()`<br/>HarmonyOS: 使用状态变量 `this.total`"
},
{
"Android 方法": "`setProgress(int progress)`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "int → number",
"代码示例": "Android: `progressBar.setProgress(50)`<br/>HarmonyOS: 更新状态变量 `this.progress = 50`"
},
{
"Android 方法": "`getProgress()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "void → number",
"代码示例": "Android: `int progress = progressBar.getProgress()`<br/>HarmonyOS: 使用状态变量 `this.progress`"
},
{
"Android 方法": "`incrementProgressBy(int delta)`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "int → 无",
"代码示例": "Android: `progressBar.incrementProgressBy(5)`<br/>HarmonyOS: `this.progress += 5`"
},
{
"Android 方法": "`setSecondaryProgress(int)`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "int → 无",
"代码示例": "Android: `progressBar.setSecondaryProgress(75)`<br/>HarmonyOS: 需自定义实现"
},
{
"Android 方法": "`getSecondaryProgress()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "void → int",
"代码示例": "Android: `int sec = progressBar.getSecondaryProgress()`<br/>HarmonyOS: 需自定义实现"
},
{
"Android 方法": "`setIndeterminate(boolean)`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "boolean → ProgressType",
"代码示例": "Android: `progressBar.setIndeterminate(true)`<br/>HarmonyOS: `Progress({ type: ProgressType.Ring })`"
},
{
"Android 方法": "`isIndeterminate()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "void → boolean",
"代码示例": "Android: `boolean isIndet = progressBar.isIndeterminate()`<br/>HarmonyOS: 使用状态变量"
}
],
"raw_table": [
[
"Android 方法",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`setMax(int max)`",
"构造函数参数",
"int → number",
"Android: `progressBar.setMax(100)`<br/>HarmonyOS: `Progress({ value: this.progress, total: 100 })`"
],
[
"`getMax()`",
"无直接对应",
"void → number",
"Android: `int max = progressBar.getMax()`<br/>HarmonyOS: 使用状态变量 `this.total`"
],
[
"`setProgress(int progress)`",
"构造函数参数",
"int → number",
"Android: `progressBar.setProgress(50)`<br/>HarmonyOS: 更新状态变量 `this.progress = 50`"
],
[
"`getProgress()`",
"无直接对应",
"void → number",
"Android: `int progress = progressBar.getProgress()`<br/>HarmonyOS: 使用状态变量 `this.progress`"
],
[
"`incrementProgressBy(int delta)`",
"无直接对应",
"int → 无",
"Android: `progressBar.incrementProgressBy(5)`<br/>HarmonyOS: `this.progress += 5`"
],
[
"`setSecondaryProgress(int)`",
"无直接对应",
"int → 无",
"Android: `progressBar.setSecondaryProgress(75)`<br/>HarmonyOS: 需自定义实现"
],
[
"`getSecondaryProgress()`",
"无直接对应",
"void → int",
"Android: `int sec = progressBar.getSecondaryProgress()`<br/>HarmonyOS: 需自定义实现"
],
[
"`setIndeterminate(boolean)`",
"构造函数参数",
"boolean → ProgressType",
"Android: `progressBar.setIndeterminate(true)`<br/>HarmonyOS: `Progress({ type: ProgressType.Ring })`"
],
[
"`isIndeterminate()`",
"无直接对应",
"void → boolean",
"Android: `boolean isIndet = progressBar.isIndeterminate()`<br/>HarmonyOS: 使用状态变量"
]
]
},
{
"table_index": 81,
"rows": [
{
"Android Style": "`Widget.ProgressBar` (circular)",
"HarmonyOS ProgressType": "`ProgressType.Ring`",
"说明": "圆形进度条"
},
{
"Android Style": "`Widget.ProgressBar.Horizontal`",
"HarmonyOS ProgressType": "`ProgressType.Linear`",
"说明": "线性进度条"
}
],
"raw_table": [
[
"Android Style",
"HarmonyOS ProgressType",
"说明"
],
[
"`Widget.ProgressBar` (circular)",
"`ProgressType.Ring`",
"圆形进度条"
],
[
"`Widget.ProgressBar.Horizontal`",
"`ProgressType.Linear`",
"线性进度条"
]
]
},
{
"table_index": 82,
"rows": [
{
"Android XML": "`android:max`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "int → number",
"代码示例": "Android: `android:max=\"100\"`<br/>HarmonyOS: `Slider({ value: 50, min: 0, max: 100 })`"
},
{
"Android XML": "`android:progress`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "int → number",
"代码示例": "Android: `android:progress=\"50\"`<br/>HarmonyOS: `Slider({ value: 50, min: 0, max: 100 })`"
},
{
"Android XML": "`android:min`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "int → number",
"代码示例": "Android: `android:min=\"0\"`<br/>HarmonyOS: `Slider({ value: 50, min: 0, max: 100 })`"
},
{
"Android XML": "`android:secondaryProgress`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "int → 无",
"代码示例": "Android: `android:secondaryProgress=\"75\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:max`",
"构造函数参数",
"int → number",
"Android: `android:max=\"100\"`<br/>HarmonyOS: `Slider({ value: 50, min: 0, max: 100 })`"
],
[
"`android:progress`",
"构造函数参数",
"int → number",
"Android: `android:progress=\"50\"`<br/>HarmonyOS: `Slider({ value: 50, min: 0, max: 100 })`"
],
[
"`android:min`",
"构造函数参数",
"int → number",
"Android: `android:min=\"0\"`<br/>HarmonyOS: `Slider({ value: 50, min: 0, max: 100 })`"
],
[
"`android:secondaryProgress`",
"无直接对应",
"int → 无",
"Android: `android:secondaryProgress=\"75\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 83,
"rows": [
{
"Android XML": "`android:thumb`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "drawable → 无",
"代码示例": "Android: `android:thumb=\"@drawable/thumb\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:thumbTint`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "color → 无",
"代码示例": "Android: `android:thumbTint=\"#FF0000\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:thumbTintMode`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 无",
"代码示例": "Android: `android:thumbTintMode=\"src_in\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:thumbOffset`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "int → 无",
"代码示例": "Android: `android:thumbOffset=\"10\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:track`",
"HarmonyOS 属性": "`.trackColor()`",
"类型转换": "drawable → ResourceColor",
"代码示例": "Android: `android:track=\"@drawable/track\"`<br/>HarmonyOS: `Slider({ value: 50 }).trackColor('#CCCCCC')`"
},
{
"Android XML": "`android:progressTint`",
"HarmonyOS 属性": "`.selectedColor()`",
"类型转换": "color → ResourceColor",
"代码示例": "Android: `android:progressTint=\"#FF6200\"`<br/>HarmonyOS: `Slider({ value: 50 }).selectedColor('#FF6200')`"
},
{
"Android XML": "`android:progressTintMode`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 无",
"代码示例": "Android: `android:progressTintMode=\"src_in\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:progressBackgroundTint`",
"HarmonyOS 属性": "`.trackColor()`",
"类型转换": "color → ResourceColor",
"代码示例": "Android: `android:progressBackgroundTint=\"#E0E0E0\"`<br/>HarmonyOS: `Slider({ value: 50 }).trackColor('#E0E0E0')`"
},
{
"Android XML": "`android:secondaryProgressTint`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "color → 无",
"代码示例": "Android: `android:secondaryProgressTint=\"#00FF00\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:thumb`",
"无直接对应",
"drawable → 无",
"Android: `android:thumb=\"@drawable/thumb\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:thumbTint`",
"无直接对应",
"color → 无",
"Android: `android:thumbTint=\"#FF0000\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:thumbTintMode`",
"无直接对应",
"enum → 无",
"Android: `android:thumbTintMode=\"src_in\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:thumbOffset`",
"无直接对应",
"int → 无",
"Android: `android:thumbOffset=\"10\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:track`",
"`.trackColor()`",
"drawable → ResourceColor",
"Android: `android:track=\"@drawable/track\"`<br/>HarmonyOS: `Slider({ value: 50 }).trackColor('#CCCCCC')`"
],
[
"`android:progressTint`",
"`.selectedColor()`",
"color → ResourceColor",
"Android: `android:progressTint=\"#FF6200\"`<br/>HarmonyOS: `Slider({ value: 50 }).selectedColor('#FF6200')`"
],
[
"`android:progressTintMode`",
"无直接对应",
"enum → 无",
"Android: `android:progressTintMode=\"src_in\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:progressBackgroundTint`",
"`.trackColor()`",
"color → ResourceColor",
"Android: `android:progressBackgroundTint=\"#E0E0E0\"`<br/>HarmonyOS: `Slider({ value: 50 }).trackColor('#E0E0E0')`"
],
[
"`android:secondaryProgressTint`",
"无直接对应",
"color → 无",
"Android: `android:secondaryProgressTint=\"#00FF00\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 84,
"rows": [
{
"Android XML": "`android:splitTrack`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 无",
"代码示例": "Android: `android:splitTrack=\"false\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:mirrorForRtl`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 无",
"代码示例": "Android: `android:mirrorForRtl=\"true\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:isIndicator`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 无",
"代码示例": "Android: `android:isIndicator=\"true\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:splitTrack`",
"无直接对应",
"boolean → 无",
"Android: `android:splitTrack=\"false\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:mirrorForRtl`",
"无直接对应",
"boolean → 无",
"Android: `android:mirrorForRtl=\"true\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:isIndicator`",
"无直接对应",
"boolean → 无",
"Android: `android:isIndicator=\"true\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 85,
"rows": [
{
"Android 方法": "`getMax()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "void → number",
"代码示例": "Android: `int max = seekBar.getMax()`<br/>HarmonyOS: 使用状态变量 `this.max`"
},
{
"Android 方法": "`setMax(int max)`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "int → number",
"代码示例": "Android: `seekBar.setMax(100)`<br/>HarmonyOS: 更新状态变量 `this.max = 100`"
},
{
"Android 方法": "`getProgress()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "void → number",
"代码示例": "Android: `int progress = seekBar.getProgress()`<br/>HarmonyOS: 使用状态变量 `this.progress`"
},
{
"Android 方法": "`setProgress(int progress)`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "int → number",
"代码示例": "Android: `seekBar.setProgress(50)`<br/>HarmonyOS: 更新状态变量 `this.progress = 50`"
},
{
"Android 方法": "`incrementProgressBy(int delta)`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "int → 无",
"代码示例": "Android: `seekBar.incrementProgressBy(5)`<br/>HarmonyOS: `this.progress += 5`"
},
{
"Android 方法": "`getMin()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "void → number",
"代码示例": "Android: `int min = seekBar.getMin()`<br/>HarmonyOS: 使用状态变量 `this.min`"
},
{
"Android 方法": "`setMin(int min)`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "int → number",
"代码示例": "Android: `seekBar.setMin(0)`<br/>HarmonyOS: 更新状态变量 `this.min = 0`"
}
],
"raw_table": [
[
"Android 方法",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`getMax()`",
"无直接对应",
"void → number",
"Android: `int max = seekBar.getMax()`<br/>HarmonyOS: 使用状态变量 `this.max`"
],
[
"`setMax(int max)`",
"构造函数参数",
"int → number",
"Android: `seekBar.setMax(100)`<br/>HarmonyOS: 更新状态变量 `this.max = 100`"
],
[
"`getProgress()`",
"无直接对应",
"void → number",
"Android: `int progress = seekBar.getProgress()`<br/>HarmonyOS: 使用状态变量 `this.progress`"
],
[
"`setProgress(int progress)`",
"构造函数参数",
"int → number",
"Android: `seekBar.setProgress(50)`<br/>HarmonyOS: 更新状态变量 `this.progress = 50`"
],
[
"`incrementProgressBy(int delta)`",
"无直接对应",
"int → 无",
"Android: `seekBar.incrementProgressBy(5)`<br/>HarmonyOS: `this.progress += 5`"
],
[
"`getMin()`",
"无直接对应",
"void → number",
"Android: `int min = seekBar.getMin()`<br/>HarmonyOS: 使用状态变量 `this.min`"
],
[
"`setMin(int min)`",
"构造函数参数",
"int → number",
"Android: `seekBar.setMin(0)`<br/>HarmonyOS: 更新状态变量 `this.min = 0`"
]
]
},
{
"table_index": 86,
"rows": [
{
"Android 监听器": "`setOnSeekBarChangeListener()`",
"HarmonyOS 属性": "`.onChange()`",
"类型转换": "listener → callback",
"代码示例": "Android: `setOnSeekBarChangeListener(...)`<br/>HarmonyOS: `Slider().onChange((value: number) => { ... })`"
}
],
"raw_table": [
[
"Android 监听器",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`setOnSeekBarChangeListener()`",
"`.onChange()`",
"listener → callback",
"Android: `setOnSeekBarChangeListener(...)`<br/>HarmonyOS: `Slider().onChange((value: number) => { ... })`"
]
]
},
{
"table_index": 87,
"rows": [
{
"Android XML": "`android:numStars`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "int → number",
"代码示例": "Android: `android:numStars=\"5\"`<br/>HarmonyOS: `Rating({ rating: 3.5, starNum: 5 })`"
},
{
"Android XML": "`android:rating`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "float → number",
"代码示例": "Android: `android:rating=\"3.5\"`<br/>HarmonyOS: `Rating({ rating: 3.5, starNum: 5 })`"
},
{
"Android XML": "`android:stepSize`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "float → number",
"代码示例": "Android: `android:stepSize=\"0.5\"`<br/>HarmonyOS: `Rating({ rating: 3.5, stepSize: 0.5 })`"
},
{
"Android XML": "`android:isIndicator`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 无",
"代码示例": "Android: `android:isIndicator=\"true\"`<br/>HarmonyOS: 使用 `.enabled(false)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:numStars`",
"构造函数参数",
"int → number",
"Android: `android:numStars=\"5\"`<br/>HarmonyOS: `Rating({ rating: 3.5, starNum: 5 })`"
],
[
"`android:rating`",
"构造函数参数",
"float → number",
"Android: `android:rating=\"3.5\"`<br/>HarmonyOS: `Rating({ rating: 3.5, starNum: 5 })`"
],
[
"`android:stepSize`",
"构造函数参数",
"float → number",
"Android: `android:stepSize=\"0.5\"`<br/>HarmonyOS: `Rating({ rating: 3.5, stepSize: 0.5 })`"
],
[
"`android:isIndicator`",
"无直接对应",
"boolean → 无",
"Android: `android:isIndicator=\"true\"`<br/>HarmonyOS: 使用 `.enabled(false)`"
]
]
},
{
"table_index": 88,
"rows": [
{
"Android 方法": "`setNumStars(int numStars)`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "int → number",
"代码示例": "Android: `ratingBar.setNumStars(5)`<br/>HarmonyOS: `Rating({ rating: this.rating, starNum: 5 })`"
},
{
"Android 方法": "`getNumStars()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "void → int",
"代码示例": "Android: `int numStars = ratingBar.getNumStars()`<br/>HarmonyOS: 使用状态变量 `this.starNum`"
},
{
"Android 方法": "`setRating(float rating)`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "float → number",
"代码示例": "Android: `ratingBar.setRating(3.5f)`<br/>HarmonyOS: 更新状态变量 `this.rating = 3.5`"
},
{
"Android 方法": "`getRating()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "void → float",
"代码示例": "Android: `float rating = ratingBar.getRating()`<br/>HarmonyOS: 使用状态变量 `this.rating`"
},
{
"Android 方法": "`setStepSize(float stepSize)`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "float → number",
"代码示例": "Android: `ratingBar.setStepSize(0.5f)`<br/>HarmonyOS: `Rating({ rating: this.rating, stepSize: 0.5 })`"
},
{
"Android 方法": "`getStepSize()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "void → float",
"代码示例": "Android: `float stepSize = ratingBar.getStepSize()`<br/>HarmonyOS: 使用状态变量 `this.stepSize`"
},
{
"Android 方法": "`setIsIndicator(boolean)`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 无",
"代码示例": "Android: `ratingBar.setIsIndicator(true)`<br/>HarmonyOS: 使用 `.enabled(false)`"
},
{
"Android 方法": "`isIndicator()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "void → boolean",
"代码示例": "Android: `boolean isInd = ratingBar.isIndicator()`<br/>HarmonyOS: 使用状态变量"
}
],
"raw_table": [
[
"Android 方法",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`setNumStars(int numStars)`",
"构造函数参数",
"int → number",
"Android: `ratingBar.setNumStars(5)`<br/>HarmonyOS: `Rating({ rating: this.rating, starNum: 5 })`"
],
[
"`getNumStars()`",
"无直接对应",
"void → int",
"Android: `int numStars = ratingBar.getNumStars()`<br/>HarmonyOS: 使用状态变量 `this.starNum`"
],
[
"`setRating(float rating)`",
"构造函数参数",
"float → number",
"Android: `ratingBar.setRating(3.5f)`<br/>HarmonyOS: 更新状态变量 `this.rating = 3.5`"
],
[
"`getRating()`",
"无直接对应",
"void → float",
"Android: `float rating = ratingBar.getRating()`<br/>HarmonyOS: 使用状态变量 `this.rating`"
],
[
"`setStepSize(float stepSize)`",
"构造函数参数",
"float → number",
"Android: `ratingBar.setStepSize(0.5f)`<br/>HarmonyOS: `Rating({ rating: this.rating, stepSize: 0.5 })`"
],
[
"`getStepSize()`",
"无直接对应",
"void → float",
"Android: `float stepSize = ratingBar.getStepSize()`<br/>HarmonyOS: 使用状态变量 `this.stepSize`"
],
[
"`setIsIndicator(boolean)`",
"无直接对应",
"boolean → 无",
"Android: `ratingBar.setIsIndicator(true)`<br/>HarmonyOS: 使用 `.enabled(false)`"
],
[
"`isIndicator()`",
"无直接对应",
"void → boolean",
"Android: `boolean isInd = ratingBar.isIndicator()`<br/>HarmonyOS: 使用状态变量"
]
]
},
{
"table_index": 89,
"rows": [
{
"Android 监听器": "`setOnRatingBarChangeListener()`",
"HarmonyOS 属性": "`.onChange()`",
"类型转换": "listener → callback",
"代码示例": "Android: `setOnRatingBarChangeListener(...)`<br/>HarmonyOS: `Rating().onChange((value: number) => { ... })`"
}
],
"raw_table": [
[
"Android 监听器",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`setOnRatingBarChangeListener()`",
"`.onChange()`",
"listener → callback",
"Android: `setOnRatingBarChangeListener(...)`<br/>HarmonyOS: `Rating().onChange((value: number) => { ... })`"
]
]
},
{
"table_index": 90,
"rows": [
{
"Android 功能": "进度显示",
"HarmonyOS 实现": "`Progress` 组件",
"代码示例": "Android: `ProgressBar`<br/>HarmonyOS: `Progress({ value: this.progress, total: 100 })`"
},
{
"Android 功能": "加载动画",
"HarmonyOS 实现": "`LoadingProgress` 组件",
"代码示例": "Android: `ContentLoadingProgressBar`<br/>HarmonyOS: `LoadingProgress()`"
}
],
"raw_table": [
[
"Android 功能",
"HarmonyOS 实现",
"代码示例"
],
[
"进度显示",
"`Progress` 组件",
"Android: `ProgressBar`<br/>HarmonyOS: `Progress({ value: this.progress, total: 100 })`"
],
[
"加载动画",
"`LoadingProgress` 组件",
"Android: `ContentLoadingProgressBar`<br/>HarmonyOS: `LoadingProgress()`"
]
]
},
{
"table_index": 91,
"rows": [
{
"映射类型": "直接映射",
"数量": "30",
"占比": "~40%"
},
{
"映射类型": "需类型转换",
"数量": "20",
"占比": "~27%"
},
{
"映射类型": "需组合实现",
"数量": "15",
"占比": "~20%"
},
{
"映射类型": "无直接对应",
"数量": "10",
"占比": "~13%"
},
{
"映射类型": "**总计**",
"数量": "**75**",
"占比": "**100%**"
}
],
"raw_table": [
[
"映射类型",
"数量",
"占比"
],
[
"直接映射",
"30",
"~40%"
],
[
"需类型转换",
"20",
"~27%"
],
[
"需组合实现",
"15",
"~20%"
],
[
"无直接对应",
"10",
"~13%"
],
[
"**总计**",
"**75**",
"**100%**"
]
]
},
{
"table_index": 92,
"rows": [
{
"Android 组件": "SearchView",
"类名": "`android.widget.SearchView`",
"HarmonyOS 组件": "`Search`",
"替代方案": "直接映射",
"说明": "搜索视图"
},
{
"Android 组件": "SearchBar",
"类名": "`android.widget.SearchBar`",
"HarmonyOS 组件": "`Search`",
"替代方案": "直接映射",
"说明": "搜索栏"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"SearchView",
"`android.widget.SearchView`",
"`Search`",
"直接映射",
"搜索视图"
],
[
"SearchBar",
"`android.widget.SearchBar`",
"`Search`",
"直接映射",
"搜索栏"
]
]
},
{
"table_index": 93,
"rows": [
{
"Android XML": "`android:queryHint`",
"HarmonyOS 属性": "`.placeholder()`",
"类型转换": "string → string",
"代码示例": "Android: `android:queryHint=\"Search...\"`<br/>HarmonyOS: `Search({ value: '' }).placeholder('Search...')`"
},
{
"Android XML": "`android:query`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "string → string",
"代码示例": "Android: `android:query=\"search\"`<br/>HarmonyOS: `Search({ value: 'search' })`"
},
{
"Android XML": "`android:iconifiedByDefault`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 无需自定义实现",
"代码示例": "Android: `android:iconifiedByDefault=\"true\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:queryHint`",
"`.placeholder()`",
"string → string",
"Android: `android:queryHint=\"Search...\"`<br/>HarmonyOS: `Search({ value: '' }).placeholder('Search...')`"
],
[
"`android:query`",
"构造函数参数",
"string → string",
"Android: `android:query=\"search\"`<br/>HarmonyOS: `Search({ value: 'search' })`"
],
[
"`android:iconifiedByDefault`",
"无直接对应",
"boolean → 无需自定义实现",
"Android: `android:iconifiedByDefault=\"true\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 94,
"rows": [
{
"Android XML": "`android:searchIcon`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "drawable → 需自定义实现",
"代码示例": "Android: `android:searchIcon=\"@drawable/ic_search\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:closeIcon`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "drawable → 需自定义实现",
"代码示例": "Android: `android:closeIcon=\"@drawable/ic_close\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:goIcon`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "drawable → 需自定义实现",
"代码示例": "Android: `android:goIcon=\"@drawable/ic_go\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:voiceIcon`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "drawable → 需自定义实现",
"代码示例": "Android: `android:voiceIcon=\"@drawable/ic_mic\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:commitIcon`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "drawable → 需自定义实现",
"代码示例": "Android: `android:commitIcon=\"@drawable/ic_commit\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:searchIcon`",
"无直接对应",
"drawable → 需自定义实现",
"Android: `android:searchIcon=\"@drawable/ic_search\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:closeIcon`",
"无直接对应",
"drawable → 需自定义实现",
"Android: `android:closeIcon=\"@drawable/ic_close\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:goIcon`",
"无直接对应",
"drawable → 需自定义实现",
"Android: `android:goIcon=\"@drawable/ic_go\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:voiceIcon`",
"无直接对应",
"drawable → 需自定义实现",
"Android: `android:voiceIcon=\"@drawable/ic_mic\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:commitIcon`",
"无直接对应",
"drawable → 需自定义实现",
"Android: `android:commitIcon=\"@drawable/ic_commit\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 95,
"rows": [
{
"Android XML": "`android:searchSuggestAuthority`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "string → 需自定义实现",
"代码示例": "Android: `android:searchSuggestAuthority=\"com.example\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:searchSuggestSelection`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "string → 需自定义实现",
"代码示例": "Android: `android:searchSuggestSelection=\"query\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:searchSuggestThreshold`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "int → 需自定义实现",
"代码示例": "Android: `android:searchSuggestThreshold=\"1\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:searchSuggestAuthority`",
"无直接对应",
"string → 需自定义实现",
"Android: `android:searchSuggestAuthority=\"com.example\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:searchSuggestSelection`",
"无直接对应",
"string → 需自定义实现",
"Android: `android:searchSuggestSelection=\"query\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:searchSuggestThreshold`",
"无直接对应",
"int → 需自定义实现",
"Android: `android:searchSuggestThreshold=\"1\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 96,
"rows": [
{
"Android XML": "`android:imeOptions`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 需自定义实现",
"代码示例": "Android: `android:imeOptions=\"actionSearch\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:inputType`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 需自定义实现",
"代码示例": "Android: `android:inputType=\"text\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:imeOptions`",
"无直接对应",
"enum → 需自定义实现",
"Android: `android:imeOptions=\"actionSearch\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:inputType`",
"无直接对应",
"enum → 需自定义实现",
"Android: `android:inputType=\"text\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 97,
"rows": [
{
"Android 方法": "`setQuery()`",
"HarmonyOS 属性": "更新状态变量",
"类型转换": "string → string",
"代码示例": "Android: `searchView.setQuery(\"search\")`<br/>HarmonyOS: 更新状态变量 `this.searchValue = \"search\"`"
},
{
"Android 方法": "`getQuery()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "void → string",
"代码示例": "Android: `String query = searchView.getQuery()`<br/>HarmonyOS: 使用状态变量 `this.searchValue`"
},
{
"Android 方法": "`setOnQueryTextListener()`",
"HarmonyOS 属性": "`.onChange()`",
"类型转换": "listener → callback",
"代码示例": "Android: `setOnQueryTextListener(...)`<br/>HarmonyOS: `Search().onChange((value: string) => { ... })`"
},
{
"Android 方法": "`setOnCloseListener()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "listener → 需自定义实现",
"代码示例": "Android: `setOnCloseListener(...)`<br/>HarmonyOS: 需自定义实现"
},
{
"Android 方法": "`setOnSearchClickListener()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "listener → 需自定义实现",
"代码示例": "Android: `setOnSearchClickListener(...)`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android 方法",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`setQuery()`",
"更新状态变量",
"string → string",
"Android: `searchView.setQuery(\"search\")`<br/>HarmonyOS: 更新状态变量 `this.searchValue = \"search\"`"
],
[
"`getQuery()`",
"无直接对应",
"void → string",
"Android: `String query = searchView.getQuery()`<br/>HarmonyOS: 使用状态变量 `this.searchValue`"
],
[
"`setOnQueryTextListener()`",
"`.onChange()`",
"listener → callback",
"Android: `setOnQueryTextListener(...)`<br/>HarmonyOS: `Search().onChange((value: string) => { ... })`"
],
[
"`setOnCloseListener()`",
"无直接对应",
"listener → 需自定义实现",
"Android: `setOnCloseListener(...)`<br/>HarmonyOS: 需自定义实现"
],
[
"`setOnSearchClickListener()`",
"无直接对应",
"listener → 需自定义实现",
"Android: `setOnSearchClickListener(...)`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 98,
"rows": [
{
"Android 监听器": "`OnQueryTextListener`",
"HarmonyOS 属性": "`.onChange()`",
"类型转换": "listener → callback",
"代码示例": "Android: `setOnQueryTextListener(...)`<br/>HarmonyOS: `Search().onChange((value: string) => { ... })`"
},
{
"Android 监听器": "`OnCloseListener`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "listener → 需自定义实现",
"代码示例": "Android: `setOnCloseListener(...)`<br/>HarmonyOS: 需自定义实现"
},
{
"Android 监听器": "`OnSuggestionListener`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "listener → 需自定义实现",
"代码示例": "Android: `setOnSuggestionListener(...)`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android 监听器",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`OnQueryTextListener`",
"`.onChange()`",
"listener → callback",
"Android: `setOnQueryTextListener(...)`<br/>HarmonyOS: `Search().onChange((value: string) => { ... })`"
],
[
"`OnCloseListener`",
"无直接对应",
"listener → 需自定义实现",
"Android: `setOnCloseListener(...)`<br/>HarmonyOS: 需自定义实现"
],
[
"`OnSuggestionListener`",
"无直接对应",
"listener → 需自定义实现",
"Android: `setOnSuggestionListener(...)`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 99,
"rows": [
{
"映射类型": "直接映射",
"数量": "10",
"占比": "~35%"
},
{
"映射类型": "需类型转换",
"数量": "5",
"占比": "~17%"
},
{
"映射类型": "需组合实现",
"数量": "8",
"占比": "~28%"
},
{
"映射类型": "无直接对应",
"数量": "6",
"占比": "~20%"
},
{
"映射类型": "**总计**",
"数量": "**29**",
"占比": "**100%**"
}
],
"raw_table": [
[
"映射类型",
"数量",
"占比"
],
[
"直接映射",
"10",
"~35%"
],
[
"需类型转换",
"5",
"~17%"
],
[
"需组合实现",
"8",
"~28%"
],
[
"无直接对应",
"6",
"~20%"
],
[
"**总计**",
"**29**",
"**100%**"
]
]
},
{
"table_index": 100,
"rows": [
{
"Android 组件": "VideoView",
"类名": "`android.widget.VideoView`",
"HarmonyOS 组件": "`Video`",
"替代方案": "直接映射",
"说明": "视频播放视图"
},
{
"Android 组件": "MediaController",
"类名": "`android.widget.MediaController`",
"HarmonyOS 组件": "自定义组合",
"替代方案": "Row + 控制按钮",
"说明": "媒体控制器"
},
{
"Android 组件": "Space",
"类名": "`android.widget.Space`",
"HarmonyOS 组件": "`Row`/`Column` 空子项",
"替代方案": "布局技巧",
"说明": "空白占位"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"VideoView",
"`android.widget.VideoView`",
"`Video`",
"直接映射",
"视频播放视图"
],
[
"MediaController",
"`android.widget.MediaController`",
"自定义组合",
"Row + 控制按钮",
"媒体控制器"
],
[
"Space",
"`android.widget.Space`",
"`Row`/`Column` 空子项",
"布局技巧",
"空白占位"
]
]
},
{
"table_index": 101,
"rows": [
{
"Android XML": "`android:videoPath`",
"HarmonyOS 属性": "构造函数参数",
"类型转换": "String → string",
"代码示例": "Android: `android:videoPath=\"/sdcard/video.mp4\"`<br/>HarmonyOS: `Video({ src: '/sdcard/video.mp4' })`"
},
{
"Android XML": "无直接对应",
"HarmonyOS 属性": "`previewUri`",
"类型转换": "无 → Resource",
"代码示例": "Android: 无<br/>HarmonyOS: `Video({ previewUri: $r('app.media.preview') })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:videoPath`",
"构造函数参数",
"String → string",
"Android: `android:videoPath=\"/sdcard/video.mp4\"`<br/>HarmonyOS: `Video({ src: '/sdcard/video.mp4' })`"
],
[
"无直接对应",
"`previewUri`",
"无 → Resource",
"Android: 无<br/>HarmonyOS: `Video({ previewUri: $r('app.media.preview') })`"
]
]
},
{
"table_index": 102,
"rows": [
{
"Android XML": "无直接对应",
"HarmonyOS 属性": "`autoPlay`",
"类型转换": "无 → boolean",
"代码示例": "Android: 需手动调用 start()<br/>HarmonyOS: `Video({ src: 'video.mp4' }).autoPlay(true)`"
},
{
"Android XML": "无直接对应",
"HarmonyOS 属性": "`loop`",
"类型转换": "无 → boolean",
"代码示例": "Android: `setLooping(true)`<br/>HarmonyOS: `Video({ src: 'video.mp4' }).loop(true)`"
},
{
"Android XML": "无直接对应",
"HarmonyOS 属性": "`muted``",
"类型转换": "无 → boolean",
"代码示例": "Android: `setVolume(0)`<br/>HarmonyOS: `Video({ src: 'video.mp4' }).muted(true)`"
},
{
"Android XML": "无直接对应",
"HarmonyOS 属性": "`controls`",
"类型转换": "无 → boolean",
"代码示例": "Android: 使用 MediaController<br/>HarmonyOS: `Video({ src: 'video.mp4' }).controls(true)`"
},
{
"Android XML": "无直接对应",
"HarmonyOS 属性": "`objectFit`",
"类型转换": "无 → ImageFit",
"代码示例": "Android: `setScaleType(ScaleType.FIT_CENTER)`<br/>HarmonyOS: `Video({ src: 'video.mp4' }).objectFit(ImageFit.Contain)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"无直接对应",
"`autoPlay`",
"无 → boolean",
"Android: 需手动调用 start()<br/>HarmonyOS: `Video({ src: 'video.mp4' }).autoPlay(true)`"
],
[
"无直接对应",
"`loop`",
"无 → boolean",
"Android: `setLooping(true)`<br/>HarmonyOS: `Video({ src: 'video.mp4' }).loop(true)`"
],
[
"无直接对应",
"`muted``",
"无 → boolean",
"Android: `setVolume(0)`<br/>HarmonyOS: `Video({ src: 'video.mp4' }).muted(true)`"
],
[
"无直接对应",
"`controls`",
"无 → boolean",
"Android: 使用 MediaController<br/>HarmonyOS: `Video({ src: 'video.mp4' }).controls(true)`"
],
[
"无直接对应",
"`objectFit`",
"无 → ImageFit",
"Android: `setScaleType(ScaleType.FIT_CENTER)`<br/>HarmonyOS: `Video({ src: 'video.mp4' }).objectFit(ImageFit.Contain)`"
]
]
},
{
"table_index": 103,
"rows": [
{
"Android ScaleType": "`FIT_CENTER`",
"HarmonyOS ImageFit": "`ImageFit.Contain`",
"说明": "等比缩放,完整显示"
},
{
"Android ScaleType": "`CENTER_CROP`",
"HarmonyOS ImageFit": "`ImageFit.Cover`",
"说明": "等比缩放,填满容器"
},
{
"Android ScaleType": "`FIT_XY`",
"HarmonyOS ImageFit": "`ImageFit.Fill`",
"说明": "拉伸填满容器"
},
{
"Android ScaleType": "`CENTER`",
"HarmonyOS ImageFit": "`ImageFit.None`",
"说明": "不缩放,居中显示"
}
],
"raw_table": [
[
"Android ScaleType",
"HarmonyOS ImageFit",
"说明"
],
[
"`FIT_CENTER`",
"`ImageFit.Contain`",
"等比缩放,完整显示"
],
[
"`CENTER_CROP`",
"`ImageFit.Cover`",
"等比缩放,填满容器"
],
[
"`FIT_XY`",
"`ImageFit.Fill`",
"拉伸填满容器"
],
[
"`CENTER`",
"`ImageFit.None`",
"不缩放,居中显示"
]
]
},
{
"table_index": 104,
"rows": [
{
"Android 监听器": "`OnPreparedListener`",
"HarmonyOS 属性": "`.onPrepared()`",
"类型转换": "监听器 → 回调函数",
"代码示例": "Android: `setOnPreparedListener(...)`<br/>HarmonyOS: `Video({ src: 'video.mp4' }).onPrepared((event) => { ... })`"
},
{
"Android 监听器": "`OnCompletionListener`",
"HarmonyOS 属性": "`.onFinish()`",
"类型转换": "监听器 → 回调函数",
"代码示例": "Android: `setOnCompletionListener(...)`<br/>HarmonyOS: `Video({ src: 'video.mp4' }).onFinish(() => { ... })`"
},
{
"Android 监听器": "`OnErrorListener`",
"HarmonyOS 属性": "`.onError()`",
"类型转换": "监听器 → 回调函数",
"代码示例": "Android: `setOnErrorListener(...)`<br/>HarmonyOS: `Video({ src: 'video.mp4' }).onError(() => { ... })`"
},
{
"Android 监听器": "`OnInfoListener`",
"HarmonyOS 属性": "`.onUpdate()`",
"类型转换": "监听器 → 回调函数",
"代码示例": "Android: `setOnInfoListener(...)`<br/>HarmonyOS: `Video({ src: 'video.mp4' }).onUpdate((event) => { ... })`"
},
{
"Android 监听器": "无直接对应",
"HarmonyOS 属性": "`.onStart()`",
"类型转换": "无 → 回调函数",
"代码示例": "Android: 无<br/>HarmonyOS: `Video({ src: 'video.mp4' }).onStart(() => { ... })`"
},
{
"Android 监听器": "无直接对应",
"HarmonyOS 属性": "`.onPause()`",
"类型转换": "无 → 回调函数",
"代码示例": "Android: 无<br/>HarmonyOS: `Video({ src: 'video.mp4' }).onPause(() => { ... })`"
}
],
"raw_table": [
[
"Android 监听器",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`OnPreparedListener`",
"`.onPrepared()`",
"监听器 → 回调函数",
"Android: `setOnPreparedListener(...)`<br/>HarmonyOS: `Video({ src: 'video.mp4' }).onPrepared((event) => { ... })`"
],
[
"`OnCompletionListener`",
"`.onFinish()`",
"监听器 → 回调函数",
"Android: `setOnCompletionListener(...)`<br/>HarmonyOS: `Video({ src: 'video.mp4' }).onFinish(() => { ... })`"
],
[
"`OnErrorListener`",
"`.onError()`",
"监听器 → 回调函数",
"Android: `setOnErrorListener(...)`<br/>HarmonyOS: `Video({ src: 'video.mp4' }).onError(() => { ... })`"
],
[
"`OnInfoListener`",
"`.onUpdate()`",
"监听器 → 回调函数",
"Android: `setOnInfoListener(...)`<br/>HarmonyOS: `Video({ src: 'video.mp4' }).onUpdate((event) => { ... })`"
],
[
"无直接对应",
"`.onStart()`",
"无 → 回调函数",
"Android: 无<br/>HarmonyOS: `Video({ src: 'video.mp4' }).onStart(() => { ... })`"
],
[
"无直接对应",
"`.onPause()`",
"无 → 回调函数",
"Android: 无<br/>HarmonyOS: `Video({ src: 'video.mp4' }).onPause(() => { ... })`"
]
]
},
{
"table_index": 105,
"rows": [
{
"Android 方法": "`start()`",
"HarmonyOS 方法": "`controller.start()`",
"类型转换": "void → void",
"代码示例": "Android: `videoView.start()`<br/>HarmonyOS: `this.controller.start()`"
},
{
"Android 方法": "`pause()`",
"HarmonyOS 方法": "`controller.pause()`",
"类型转换": "void → void",
"代码示例": "Android: `videoView.pause()`<br/>HarmonyOS: `this.controller.pause()`"
},
{
"Android 方法": "`stopPlayback()`",
"HarmonyOS 方法": "`controller.stop()`",
"类型转换": "void → void",
"代码示例": "Android: `videoView.stopPlayback()`<br/>HarmonyOS: `this.controller.stop()`"
},
{
"Android 方法": "`seekTo(int)`",
"HarmonyOS 方法": "`controller.setCurrentTime()`",
"类型转换": "int → (number, SeekMode)",
"代码示例": "Android: `videoView.seekTo(5000)`<br/>HarmonyOS: `this.controller.setCurrentTime(5000, SeekMode.Accurate)`"
},
{
"Android 方法": "`resume()`",
"HarmonyOS 方法": "`controller.start()`",
"类型转换": "void → void",
"代码示例": "Android: `videoView.resume()`<br/>HarmonyOS: `this.controller.start()`"
},
{
"Android 方法": "`suspend()`",
"HarmonyOS 方法": "`controller.pause()`",
"类型转换": "void → void",
"代码示例": "Android: `videoView.suspend()`<br/>HarmonyOS: `this.controller.pause()`"
},
{
"Android 方法": "`isPlaying()`",
"HarmonyOS 方法": "无直接对应",
"类型转换": "需状态管理",
"代码示例": "使用 `@State` 变量"
},
{
"Android 方法": "`getDuration()`",
"HarmonyOS 方法": "无直接对应",
"类型转换": "需状态管理",
"代码示例": "使用 `@State` 变量"
},
{
"Android 方法": "`getCurrentPosition()`",
"HarmonyOS 方法": "无直接对应",
"类型转换": "需状态管理",
"代码示例": "使用 `@State` 变量"
}
],
"raw_table": [
[
"Android 方法",
"HarmonyOS 方法",
"类型转换",
"代码示例"
],
[
"`start()`",
"`controller.start()`",
"void → void",
"Android: `videoView.start()`<br/>HarmonyOS: `this.controller.start()`"
],
[
"`pause()`",
"`controller.pause()`",
"void → void",
"Android: `videoView.pause()`<br/>HarmonyOS: `this.controller.pause()`"
],
[
"`stopPlayback()`",
"`controller.stop()`",
"void → void",
"Android: `videoView.stopPlayback()`<br/>HarmonyOS: `this.controller.stop()`"
],
[
"`seekTo(int)`",
"`controller.setCurrentTime()`",
"int → (number, SeekMode)",
"Android: `videoView.seekTo(5000)`<br/>HarmonyOS: `this.controller.setCurrentTime(5000, SeekMode.Accurate)`"
],
[
"`resume()`",
"`controller.start()`",
"void → void",
"Android: `videoView.resume()`<br/>HarmonyOS: `this.controller.start()`"
],
[
"`suspend()`",
"`controller.pause()`",
"void → void",
"Android: `videoView.suspend()`<br/>HarmonyOS: `this.controller.pause()`"
],
[
"`isPlaying()`",
"无直接对应",
"需状态管理",
"使用 `@State` 变量"
],
[
"`getDuration()`",
"无直接对应",
"需状态管理",
"使用 `@State` 变量"
],
[
"`getCurrentPosition()`",
"无直接对应",
"需状态管理",
"使用 `@State` 变量"
]
]
},
{
"table_index": 106,
"rows": [
{
"Android SeekMode": "`SEEK_CLOSEST_SYNC`",
"HarmonyOS SeekMode": "`SeekMode.Accurate`",
"说明": "精确定位"
},
{
"Android SeekMode": "`SEEK_PREVIOUS_SYNC`",
"HarmonyOS SeekMode": "`SeekMode.PreviousKeyFrame`",
"说明": "定位到前一个关键帧"
},
{
"Android SeekMode": "`SEEK_NEXT_SYNC`",
"HarmonyOS SeekMode": "`SeekMode.NextKeyFrame`",
"说明": "定位到后一个关键帧"
}
],
"raw_table": [
[
"Android SeekMode",
"HarmonyOS SeekMode",
"说明"
],
[
"`SEEK_CLOSEST_SYNC`",
"`SeekMode.Accurate`",
"精确定位"
],
[
"`SEEK_PREVIOUS_SYNC`",
"`SeekMode.PreviousKeyFrame`",
"定位到前一个关键帧"
],
[
"`SEEK_NEXT_SYNC`",
"`SeekMode.NextKeyFrame`",
"定位到后一个关键帧"
]
]
},
{
"table_index": 107,
"rows": [
{
"Android XML": "`android:layout_width`",
"HarmonyOS 属性": "`.width()`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:layout_width=\"match_parent\"`<br/>HarmonyOS: `Video({ src: 'video.mp4' }).width('100%')`"
},
{
"Android XML": "`android:layout_height`",
"HarmonyOS 属性": "`.height()`",
"类型转换": "dp → vp",
"代码示例": "Android: `android:layout_height=\"200dp\"`<br/>HarmonyOS: `Video({ src: 'video.mp4' }).height(200)`"
},
{
"Android XML": "无直接对应",
"HarmonyOS 属性": "`controller`",
"类型转换": "无 → VideoController",
"代码示例": "Android: 无<br/>HarmonyOS: `Video({ src: 'video.mp4', controller: this.controller })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layout_width`",
"`.width()`",
"dp → vp",
"Android: `android:layout_width=\"match_parent\"`<br/>HarmonyOS: `Video({ src: 'video.mp4' }).width('100%')`"
],
[
"`android:layout_height`",
"`.height()`",
"dp → vp",
"Android: `android:layout_height=\"200dp\"`<br/>HarmonyOS: `Video({ src: 'video.mp4' }).height(200)`"
],
[
"无直接对应",
"`controller`",
"无 → VideoController",
"Android: 无<br/>HarmonyOS: `Video({ src: 'video.mp4', controller: this.controller })`"
]
]
},
{
"table_index": 108,
"rows": [
{
"Android 功能": "播放/暂停按钮",
"HarmonyOS 实现": "`Button` + `onClick`",
"代码示例": "使用 `controller.start()` / `controller.pause()`"
},
{
"Android 功能": "进度条",
"HarmonyOS 实现": "`Slider` + `onChange`",
"代码示例": "使用 `controller.setCurrentTime()`"
},
{
"Android 功能": "时间显示",
"HarmonyOS 实现": "`Text` + 状态变量",
"代码示例": "使用 `onUpdate` 事件更新"
},
{
"Android 功能": "全屏按钮",
"HarmonyOS 实现": "`Button` + `onClick`",
"代码示例": "使用窗口 API 切换全屏"
}
],
"raw_table": [
[
"Android 功能",
"HarmonyOS 实现",
"代码示例"
],
[
"播放/暂停按钮",
"`Button` + `onClick`",
"使用 `controller.start()` / `controller.pause()`"
],
[
"进度条",
"`Slider` + `onChange`",
"使用 `controller.setCurrentTime()`"
],
[
"时间显示",
"`Text` + 状态变量",
"使用 `onUpdate` 事件更新"
],
[
"全屏按钮",
"`Button` + `onClick`",
"使用窗口 API 切换全屏"
]
]
},
{
"table_index": 109,
"rows": [
{
"映射类型": "直接映射",
"数量": "10",
"占比": "~40%"
},
{
"映射类型": "需类型转换",
"数量": "8",
"占比": "~32%"
},
{
"映射类型": "需组合实现",
"数量": "5",
"占比": "~20%"
},
{
"映射类型": "无直接对应",
"数量": "2",
"占比": "~8%"
},
{
"映射类型": "**总计**",
"数量": "**25**",
"占比": "**100%**"
}
],
"raw_table": [
[
"映射类型",
"数量",
"占比"
],
[
"直接映射",
"10",
"~40%"
],
[
"需类型转换",
"8",
"~32%"
],
[
"需组合实现",
"5",
"~20%"
],
[
"无直接对应",
"2",
"~8%"
],
[
"**总计**",
"**25**",
"**100%**"
]
]
},
{
"table_index": 110,
"rows": [
{
"Android 组件": "ScrollView",
"类名": "`android.widget.ScrollView`",
"HarmonyOS 组件": "`Scroll`",
"替代方案": "直接映射",
"说明": "垂直滚动视图"
},
{
"Android 组件": "HorizontalScrollView",
"类名": "`android.widget.HorizontalScrollView`",
"HarmonyOS 组件": "`Scroll` (scrollable: ScrollDirection.Horizontal)",
"替代方案": "方向配置",
"说明": "水平滚动视图"
},
{
"Android 组件": "NestedScrollView",
"类名": "`androidx.core.widget.NestedScrollView`",
"HarmonyOS 组件": "`Scroll` + 嵌套",
"替代方案": "配合 List/Grid",
"说明": "支持嵌套滚动的滚动视图"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"ScrollView",
"`android.widget.ScrollView`",
"`Scroll`",
"直接映射",
"垂直滚动视图"
],
[
"HorizontalScrollView",
"`android.widget.HorizontalScrollView`",
"`Scroll` (scrollable: ScrollDirection.Horizontal)",
"方向配置",
"水平滚动视图"
],
[
"NestedScrollView",
"`androidx.core.widget.NestedScrollView`",
"`Scroll` + 嵌套",
"配合 List/Grid",
"支持嵌套滚动的滚动视图"
]
]
},
{
"table_index": 111,
"rows": [
{
"Android XML": "`android:orientation=\"vertical\"`",
"HarmonyOS 属性": "`.scrollable()`",
"类型转换": "enum → ScrollDirection",
"代码示例": "Android: `android:orientation=\"vertical\"`<br/>HarmonyOS: `Scroll() { ... }.scrollable(ScrollDirection.Vertical)`"
},
{
"Android XML": "`android:orientation=\"horizontal\"`",
"HarmonyOS 属性": "`.scrollable()`",
"类型转换": "enum → ScrollDirection",
"代码示例": "Android: `android:orientation=\"horizontal\"`<br/>HarmonyOS: `Scroll() { ... }.scrollable(ScrollDirection.Horizontal)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:orientation=\"vertical\"`",
"`.scrollable()`",
"enum → ScrollDirection",
"Android: `android:orientation=\"vertical\"`<br/>HarmonyOS: `Scroll() { ... }.scrollable(ScrollDirection.Vertical)`"
],
[
"`android:orientation=\"horizontal\"`",
"`.scrollable()`",
"enum → ScrollDirection",
"Android: `android:orientation=\"horizontal\"`<br/>HarmonyOS: `Scroll() { ... }.scrollable(ScrollDirection.Horizontal)`"
]
]
},
{
"table_index": 112,
"rows": [
{
"Android XML": "`android:scrollbars=\"vertical\"`",
"HarmonyOS 属性": "`.scrollBar()`",
"类型转换": "enum → BarState",
"代码示例": "Android: `android:scrollbars=\"vertical\"`<br/>HarmonyOS: `Scroll() { ... }.scrollBar(BarState.On)`"
},
{
"Android XML": "`android:scrollbars=\"horizontal\"`",
"HarmonyOS 属性": "`.scrollBar()`",
"类型转换": "enum → BarState",
"代码示例": "Android: `android:scrollbars=\"horizontal\"`<br/>HarmonyOS: `Scroll() { ... }.scrollBar(BarState.On)`"
},
{
"Android XML": "`android:scrollbars=\"none\"`",
"HarmonyOS 属性": "`.scrollBar()`",
"类型转换": "enum → BarState",
"代码示例": "Android: `android:scrollbars=\"none\"`<br/>HarmonyOS: `Scroll() { ... }.scrollBar(BarState.Off)`"
},
{
"Android XML": "无直接对应",
"HarmonyOS 属性": "`.scrollBarColor()`",
"类型转换": "无 → Color",
"代码示例": "Android: 无<br/>HarmonyOS: `Scroll() { ... }.scrollBarColor(Color.Gray)`"
},
{
"Android XML": "无直接对应",
"HarmonyOS 属性": "`.scrollBarWidth()`",
"类型转换": "无 → number",
"代码示例": "Android: 无<br/>HarmonyOS: `Scroll() { ... }.scrollBarWidth(30)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:scrollbars=\"vertical\"`",
"`.scrollBar()`",
"enum → BarState",
"Android: `android:scrollbars=\"vertical\"`<br/>HarmonyOS: `Scroll() { ... }.scrollBar(BarState.On)`"
],
[
"`android:scrollbars=\"horizontal\"`",
"`.scrollBar()`",
"enum → BarState",
"Android: `android:scrollbars=\"horizontal\"`<br/>HarmonyOS: `Scroll() { ... }.scrollBar(BarState.On)`"
],
[
"`android:scrollbars=\"none\"`",
"`.scrollBar()`",
"enum → BarState",
"Android: `android:scrollbars=\"none\"`<br/>HarmonyOS: `Scroll() { ... }.scrollBar(BarState.Off)`"
],
[
"无直接对应",
"`.scrollBarColor()`",
"无 → Color",
"Android: 无<br/>HarmonyOS: `Scroll() { ... }.scrollBarColor(Color.Gray)`"
],
[
"无直接对应",
"`.scrollBarWidth()`",
"无 → number",
"Android: 无<br/>HarmonyOS: `Scroll() { ... }.scrollBarWidth(30)`"
]
]
},
{
"table_index": 113,
"rows": [
{
"Android scrollbarStyle": "`insideOverlay`",
"HarmonyOS BarState": "`BarState.Auto`",
"说明": "滚动条在内容内,不占用空间"
},
{
"Android scrollbarStyle": "`insideInset`",
"HarmonyOS BarState": "`BarState.On`",
"说明": "滚动条在内容内,占用空间"
},
{
"Android scrollbarStyle": "`outsideOverlay`",
"HarmonyOS BarState": "`BarState.Auto`",
"说明": "滚动条在内容外,不占用空间"
},
{
"Android scrollbarStyle": "`outsideInset`",
"HarmonyOS BarState": "`BarState.On`",
"说明": "滚动条在内容外,占用空间"
}
],
"raw_table": [
[
"Android scrollbarStyle",
"HarmonyOS BarState",
"说明"
],
[
"`insideOverlay`",
"`BarState.Auto`",
"滚动条在内容内,不占用空间"
],
[
"`insideInset`",
"`BarState.On`",
"滚动条在内容内,占用空间"
],
[
"`outsideOverlay`",
"`BarState.Auto`",
"滚动条在内容外,不占用空间"
],
[
"`outsideInset`",
"`BarState.On`",
"滚动条在内容外,占用空间"
]
]
},
{
"table_index": 114,
"rows": [
{
"Android XML": "`android:overScrollMode=\"always\"`",
"HarmonyOS 属性": "`.edgeEffect()`",
"类型转换": "enum → EdgeEffect",
"代码示例": "Android: `android:overScrollMode=\"always\"`<br/>Harmony HarmonyOS: `Scroll() { ... }.edgeEffect(EdgeEffect.Spring)`"
},
{
"Android XML": "`android:overScrollMode=\"ifContentScrolls\"`",
"HarmonyOS 属性": "`.edgeEffect()`",
"类型转换": "enum → EdgeEffect",
"代码示例": "Android: `android:overScrollMode=\"ifContentScrolls\"`<br/>HarmonyOS: `Scroll() { ... }.edgeEffect(EdgeEffect.Spring)`"
},
{
"Android XML": "`android:overScrollMode=\"never\"`",
"HarmonyOS 属性": "`.edgeEffect()`",
"类型转换": "enum → EdgeEffect",
"代码示例": "Android: `android:overScrollMode=\"never\"`<br/>HarmonyOS: `Scroll() { ... }.edgeEffect(EdgeEffect.None)`"
},
{
"Android XML": "`android:overScrollHeader`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用边缘效果 API"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:overScrollMode=\"always\"`",
"`.edgeEffect()`",
"enum → EdgeEffect",
"Android: `android:overScrollMode=\"always\"`<br/>Harmony HarmonyOS: `Scroll() { ... }.edgeEffect(EdgeEffect.Spring)`"
],
[
"`android:overScrollMode=\"ifContentScrolls\"`",
"`.edgeEffect()`",
"enum → EdgeEffect",
"Android: `android:overScrollMode=\"ifContentScrolls\"`<br/>HarmonyOS: `Scroll() { ... }.edgeEffect(EdgeEffect.Spring)`"
],
[
"`android:overScrollMode=\"never\"`",
"`.edgeEffect()`",
"enum → EdgeEffect",
"Android: `android:overScrollMode=\"never\"`<br/>HarmonyOS: `Scroll() { ... }.edgeEffect(EdgeEffect.None)`"
],
[
"`android:overScrollHeader`",
"无直接对应",
"需自定义实现",
"使用边缘效果 API"
]
]
},
{
"table_index": 115,
"rows": [
{
"Android overScrollMode": "`always`",
"HarmonyOS EdgeEffect": "`EdgeEffect.Spring`",
"说明": "始终显示弹性效果"
},
{
"Android overScrollMode": "`ifContentScrolls`",
"HarmonyOS EdgeEffect": "`EdgeEffect.Spring`",
"说明": "内容可滚动时显示效果"
},
{
"Android overScrollMode": "`never`",
"HarmonyOS EdgeEffect": "`EdgeEffect.None`",
"说明": "不显示边缘效果"
}
],
"raw_table": [
[
"Android overScrollMode",
"HarmonyOS EdgeEffect",
"说明"
],
[
"`always`",
"`EdgeEffect.Spring`",
"始终显示弹性效果"
],
[
"`ifContentScrolls`",
"`EdgeEffect.Spring`",
"内容可滚动时显示效果"
],
[
"`never`",
"`EdgeEffect.None`",
"不显示边缘效果"
]
]
},
{
"table_index": 116,
"rows": [
{
"Android XML": "`android:nestedScrollingEnabled=\"true\"`",
"HarmonyOS 属性": "`.nestedScroll()`",
"类型转换": "boolean → NestedScrollOptions",
"代码示例": "Android: `android:nestedScrollingEnabled=\"true\"`<br/>HarmonyOS: `Scroll() { ... }.nestedScroll({ scrollForward: NestedScrollMode.PARENT_FIRST, scrollBackward: NestedScrollMode.SELF_FIRST })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:nestedScrollingEnabled=\"true\"`",
"`.nestedScroll()`",
"boolean → NestedScrollOptions",
"Android: `android:nestedScrollingEnabled=\"true\"`<br/>HarmonyOS: `Scroll() { ... }.nestedScroll({ scrollForward: NestedScrollMode.PARENT_FIRST, scrollBackward: NestedScrollMode.SELF_FIRST })`"
]
]
},
{
"table_index": 117,
"rows": [
{
"Android 嵌套行为": "自身先滚动",
"HarmonyOS NestedScrollMode": "`NestedScrollMode.SELF_FIRST`",
"说明": "自身先滚动,再滚动父容器"
},
{
"Android 嵌套行为": "父容器先滚动",
"HarmonyOS NestedScrollMode": "`NestedScrollMode.PARENT_FIRST`",
"说明": "父容器先滚动,再滚动自身"
},
{
"Android 嵌套行为": "仅自身滚动",
"HarmonyOS NestedScrollMode": "`NestedScrollMode.SELF_ONLY`",
"说明": "只滚动自身,不传递给父容器"
},
{
"Android 嵌套行为": "并行滚动",
"HarmonyOS NestedScrollMode": "`NestedScrollMode.PARALLEL`",
"说明": "自身和父容器同时滚动"
},
{
"Android 嵌套行为": "自动选择",
"HarmonyOS NestedScrollMode": "`NestedScrollMode.AUTO`",
"说明": "系统自动选择滚动模式"
}
],
"raw_table": [
[
"Android 嵌套行为",
"HarmonyOS NestedScrollMode",
"说明"
],
[
"自身先滚动",
"`NestedScrollMode.SELF_FIRST`",
"自身先滚动,再滚动父容器"
],
[
"父容器先滚动",
"`NestedScrollMode.PARENT_FIRST`",
"父容器先滚动,再滚动自身"
],
[
"仅自身滚动",
"`NestedScrollMode.SELF_ONLY`",
"只滚动自身,不传递给父容器"
],
[
"并行滚动",
"`NestedScrollMode.PARALLEL`",
"自身和父容器同时滚动"
],
[
"自动选择",
"`NestedScrollMode.AUTO`",
"系统自动选择滚动模式"
]
]
},
{
"table_index": 118,
"rows": [
{
"Android XML": "`android:fillViewport`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用尺寸约束"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:fillViewport`",
"无直接对应",
"需自定义实现",
"使用尺寸约束"
]
]
},
{
"table_index": 119,
"rows": [
{
"Android 监听器": "`OnScrollListener.onScrollChanged()`",
"HarmonyOS 属性": "`.onScroll()`",
"类型转换": "监听器 → 回调函数",
"代码示例": "Android: `setOnScrollChangeListener(...)`<br/>HarmonyOS: `Scroll() { ... }.onScroll((xOffset: number, yOffset: number) => { ... })`"
},
{
"Android 监听器": "`OnScrollListener.onScrollStateChanged()`",
"HarmonyOS 属性": "`.onScrollStart()` / `.onScrollEnd()`",
"类型转换": "监听器 → 回调函数",
"代码示例": "Android: `setOnScrollChangeListener(...)`<br/>HarmonyOS: `Scroll() { ... }.onScrollStart(() => { ... }).onScrollEnd(() => { ... })`"
},
{
"Android 监听器": "无直接对应",
"HarmonyOS 属性": "`.onScrollEdge()`",
"类型转换": "无 → 回调函数",
"代码示例": "Android: 无<br/>HarmonyOS: `Scroll() { ... }.onScrollEdge((side: Edge) => { ... })`"
}
],
"raw_table": [
[
"Android 监听器",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`OnScrollListener.onScrollChanged()`",
"`.onScroll()`",
"监听器 → 回调函数",
"Android: `setOnScrollChangeListener(...)`<br/>HarmonyOS: `Scroll() { ... }.onScroll((xOffset: number, yOffset: number) => { ... })`"
],
[
"`OnScrollListener.onScrollStateChanged()`",
"`.onScrollStart()` / `.onScrollEnd()`",
"监听器 → 回调函数",
"Android: `setOnScrollChangeListener(...)`<br/>HarmonyOS: `Scroll() { ... }.onScrollStart(() => { ... }).onScrollEnd(() => { ... })`"
],
[
"无直接对应",
"`.onScrollEdge()`",
"无 → 回调函数",
"Android: 无<br/>HarmonyOS: `Scroll() { ... }.onScrollEdge((side: Edge) => { ... })`"
]
]
},
{
"table_index": 120,
"rows": [
{
"Android 方法": "`scrollTo(int x, int y)`",
"HarmonyOS 方法": "`scroller.scrollTo()`",
"类型转换": "(int, int) → ({ xOffset, yOffset, animation })",
"代码示例": "Android: `scrollView.scrollTo(100, 200)`<br/>HarmonyOS: `this.scroller.scrollTo({ xOffset: 100, yOffset: 200 })`"
},
{
"Android 方法": "`scrollBy(int dx, int dy)`",
"HarmonyOS 方法": "`scroller.scrollBy()`",
"类型转换": "(int, int) → (int, int)",
"代码示例": "Android: `scrollView.scrollBy(10, 20)`<br/>HarmonyOS: `this.scroller.scrollBy(10, 20)`"
},
{
"Android 方法": "`smoothScrollTo(int x, int y)`",
"HarmonyOS 方法": "`scroller.scrollTo()`",
"类型转换": "(int, int) → ({ xOffset, yOffset, animation })",
"代码示例": "Android: `scrollView.smoothScrollTo(100, 200)`<br/>HarmonyOS: `this.scroller.scrollTo({ xOffset: 100, yOffset: 200, animation: { duration: 300 } })`"
},
{
"Android 方法": "`smoothScrollBy(int dx, int dy)`",
"HarmonyOS 方法": "`scroller.scrollBy()`",
"类型转换": "(int, int) → (int, int)",
"代码示例": "Android: `scrollView.smoothScrollBy(10, 20)`<br/>HarmonyOS: `this.scroller.scrollBy(10, 20)`"
},
{
"Android 方法": "`fullScroll(int direction)`",
"HarmonyOS 方法": "`scroller.scrollEdge()`",
"类型转换": "FOCUS_DOWN/UP → Edge",
"代码示例": "Android: `scrollView.fullScroll(FOCUS_DOWN)`<br/>HarmonyOS: `this.scroller.scrollEdge(Edge.Bottom)`"
},
{
"Android 方法": "`pageScroll(int direction)`",
"HarmonyOS 方法": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用 `scroller.scrollPage()`"
},
{
"Android 方法": "`arrowScroll(int direction)`",
"HarmonyOS 方法": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用 `scroller.scrollBy()`"
}
],
"raw_table": [
[
"Android 方法",
"HarmonyOS 方法",
"类型转换",
"代码示例"
],
[
"`scrollTo(int x, int y)`",
"`scroller.scrollTo()`",
"(int, int) → ({ xOffset, yOffset, animation })",
"Android: `scrollView.scrollTo(100, 200)`<br/>HarmonyOS: `this.scroller.scrollTo({ xOffset: 100, yOffset: 200 })`"
],
[
"`scrollBy(int dx, int dy)`",
"`scroller.scrollBy()`",
"(int, int) → (int, int)",
"Android: `scrollView.scrollBy(10, 20)`<br/>HarmonyOS: `this.scroller.scrollBy(10, 20)`"
],
[
"`smoothScrollTo(int x, int y)`",
"`scroller.scrollTo()`",
"(int, int) → ({ xOffset, yOffset, animation })",
"Android: `scrollView.smoothScrollTo(100, 200)`<br/>HarmonyOS: `this.scroller.scrollTo({ xOffset: 100, yOffset: 200, animation: { duration: 300 } })`"
],
[
"`smoothScrollBy(int dx, int dy)`",
"`scroller.scrollBy()`",
"(int, int) → (int, int)",
"Android: `scrollView.smoothScrollBy(10, 20)`<br/>HarmonyOS: `this.scroller.scrollBy(10, 20)`"
],
[
"`fullScroll(int direction)`",
"`scroller.scrollEdge()`",
"FOCUS_DOWN/UP → Edge",
"Android: `scrollView.fullScroll(FOCUS_DOWN)`<br/>HarmonyOS: `this.scroller.scrollEdge(Edge.Bottom)`"
],
[
"`pageScroll(int direction)`",
"无直接对应",
"需自定义实现",
"使用 `scroller.scrollPage()`"
],
[
"`arrowScroll(int direction)`",
"无直接对应",
"需自定义实现",
"使用 `scroller.scrollBy()`"
]
]
},
{
"table_index": 121,
"rows": [
{
"Android 方法": "`getScrollX()`",
"HarmonyOS 方法": "`scroller.current()().xOffset`",
"类型转换": "void → number",
"代码示例": "Android: `scrollView.getScrollX()`<br/>HarmonyOS: `this.scroller.currentOffset().xOffset`"
},
{
"Android 方法": "`getScrollY()`",
"HarmonyOS 方法": "`scroller.currentOffset().yOffset`",
"类型转换": "void → number",
"代码示例": "Android: `scrollView.getScrollY()`<br/>HarmonyOS: `this.scroller.currentOffset().yOffset`"
},
{
"Android 方法": "`canScrollVertically()`",
"HarmonyOS 方法": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用内容尺寸计算"
},
{
"Android 方法": "`canScrollHorizontally()`",
"HarmonyOS 方法": "无直接对应",
"类型转换": "需自定义实现",
"代码示例": "使用内容尺寸计算"
}
],
"raw_table": [
[
"Android 方法",
"HarmonyOS 方法",
"类型转换",
"代码示例"
],
[
"`getScrollX()`",
"`scroller.current()().xOffset`",
"void → number",
"Android: `scrollView.getScrollX()`<br/>HarmonyOS: `this.scroller.currentOffset().xOffset`"
],
[
"`getScrollY()`",
"`scroller.currentOffset().yOffset`",
"void → number",
"Android: `scrollView.getScrollY()`<br/>HarmonyOS: `this.scroller.currentOffset().yOffset`"
],
[
"`canScrollVertically()`",
"无直接对应",
"需自定义实现",
"使用内容尺寸计算"
],
[
"`canScrollHorizontally()`",
"无直接对应",
"需自定义实现",
"使用内容尺寸计算"
]
]
},
{
"table_index": 122,
"rows": [
{
"Android XML": "无直接对应",
"HarmonyOS 属性": "`animation`",
"类型转换": "无 → ScrollAnimateOptions",
"代码示例": "Android: 使用 ObjectAnimator<br/>HarmonyOS: `this.scroller.scrollTo({ xOffset: 100, yOffset: 200, animation: { duration: 500, curve: Curve.EaseInOut } })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"无直接对应",
"`animation`",
"无 → ScrollAnimateOptions",
"Android: 使用 ObjectAnimator<br/>HarmonyOS: `this.scroller.scrollTo({ xOffset: 100, yOffset: 200, animation: { duration: 500, curve: Curve.EaseInOut } })`"
]
]
},
{
"table_index": 123,
"rows": [
{
"Android XML": "`android:orientation`",
"HarmonyOS 属性": "`.scrollable()`",
"类型转换": "enum → ScrollDirection",
"代码示例": "Android: `android:orientation=\"horizontal\"`<br/>HarmonyOS: `Scroll() { ... }.scrollable(ScrollDirection.Horizontal)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:orientation`",
"`.scrollable()`",
"enum → ScrollDirection",
"Android: `android:orientation=\"horizontal\"`<br/>HarmonyOS: `Scroll() { ... }.scrollable(ScrollDirection.Horizontal)`"
]
]
},
{
"table_index": 124,
"rows": [
{
"Android XML": "`android:nestedScrollingEnabled=\"true\"`",
"HarmonyOS 属性": "`.nestedScroll()`",
"类型转换": "boolean → NestedScrollOptions",
"代码示例": "Android: `android:nestedScrollingEnabled=\"true\"`<br/>HarmonyOS: `Scroll() { ... }.nestedScroll({ scrollForward: NestedScrollMode.PARENT_FIRST, scrollBackward: NestedScrollMode.SELF_FIRST })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:nestedScrollingEnabled=\"true\"`",
"`.nestedScroll()`",
"boolean → NestedScrollOptions",
"Android: `android:nestedScrollingEnabled=\"true\"`<br/>HarmonyOS: `Scroll() { ... }.nestedScroll({ scrollForward: NestedScrollMode.PARENT_FIRST, scrollBackward: NestedScrollMode.SELF_FIRST })`"
]
]
},
{
"table_index": 125,
"rows": [
{
"Android XML": "无直接对应",
"HarmonyOS 属性": "`.enableScrollInteraction()`",
"类型转换": "无 → boolean",
"代码示例": "Android: 无<br/>HarmonyOS: `Scroll() { ... }.enableScrollInteraction(false)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"无直接对应",
"`.enableScrollInteraction()`",
"无 → boolean",
"Android: 无<br/>HarmonyOS: `Scroll() { ... }.enableScrollInteraction(false)`"
]
]
},
{
"table_index": 126,
"rows": [
{
"HarmonyOS Edge": "`Top`",
"说明": "顶部边缘"
},
{
"HarmonyOS Edge": "`Bottom`",
"说明": "底部边缘"
},
{
"HarmonyOS Edge": "`Start`",
"说明": "起始边缘(RTL/LTR 感知)"
},
{
"HarmonyOS Edge": "`End`",
"说明": "结束边缘(RTL/LTR 感知)"
}
],
"raw_table": [
[
"HarmonyOS Edge",
"说明"
],
[
"`Top`",
"顶部边缘"
],
[
"`Bottom`",
"底部边缘"
],
[
"`Start`",
"起始边缘(RTL/LTR 感知)"
],
[
"`End`",
"结束边缘(RTL/LTR 感知)"
]
]
},
{
"table_index": 127,
"rows": [
{
"映射类型": "直接映射",
"数量": "15",
"占比": "~45%"
},
{
"映射类型": "需类型转换",
"数量": "10",
"占比": "~30%"
},
{
"映射类型": "需组合实现",
"数量": "5",
"占比": "~15%"
},
{
"映射类型": "无直接对应",
"数量": "3",
"占比": "~10%"
},
{
"映射类型": "**总计**",
"数量": "**33**",
"占比": "**100%**"
}
],
"raw_table": [
[
"映射类型",
"数量",
"占比"
],
[
"直接映射",
"15",
"~45%"
],
[
"需类型转换",
"10",
"~30%"
],
[
"需组合实现",
"5",
"~15%"
],
[
"无直接对应",
"3",
"~10%"
],
[
"**总计**",
"**33**",
"**100%**"
]
]
},
{
"table_index": 128,
"rows": [
{
"Android 组件": "LinearLayout",
"类名": "`android.widget.LinearLayout`",
"HarmonyOS 组件": "`Column` / `Row`",
"替代方案": "垂直用 Column,水平用 Row",
"说明": "线性布局"
},
{
"Android 组件": "TableRow",
"类名": "`android.widget.TableRow`",
"HarmonyOS 组件": "`Row`",
"替代方案": "在 Grid 中使用",
"说明": "表格行(水平线性)"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"LinearLayout",
"`android.widget.LinearLayout`",
"`Column` / `Row`",
"垂直用 Column,水平用 Row",
"线性布局"
],
[
"TableRow",
"`android.widget.TableRow`",
"`Row`",
"在 Grid 中使用",
"表格行(水平线性)"
]
]
},
{
"table_index": 129,
"rows": [
{
"Android XML": "`android:orientation`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 组件选择",
"代码示例": "Android: `android:orientation=\"vertical\"`<br/>HarmonyOS: 使用 `Column` 组件<br/>Android: `android:orientation=\"horizontal\"`<br/>HarmonyOS: 使用 `Row` 组件"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:orientation`",
"无直接对应",
"enum → 组件选择",
"Android: `android:orientation=\"vertical\"`<br/>HarmonyOS: 使用 `Column` 组件<br/>Android: `android:orientation=\"horizontal\"`<br/>HarmonyOS: 使用 `Row` 组件"
]
]
},
{
"table_index": 130,
"rows": [
{
"Android XML": "`android:gravity`",
"HarmonyOS 属性": "`.justifyContent()` / `.alignItems()`",
"类型转换": "flags → FlexAlign",
"代码示例": "Android: `android:gravity=\"center\"`<br/>HarmonyOS: `Column().justifyContent(FlexAlign.Center)`<br/>Android: `android:gravity=\"center_horizontal\"`<br/>HarmonyOS: `Row().alignItems(HorizontalAlign.Center)`<br/>Android: `android:gravity=\"center_vertical\"`<br/>HarmonyOS: `Column().justifyContent(FlexAlign.Center)`<br/>Android: `android:gravity=\"left\"`<br/>HarmonyOS: `Row().alignItems(HorizontalAlign.Start)`<br/>Android: `android:gravity=\"right\"`<br/>HarmonyOS: `Row().alignItems(HorizontalAlign.End)`<br/>Android: `android:gravity=\"start\"`<br/>HarmonyOS: `Row().alignItems(HorizontalAlign.Start)`<br/>Android: `android:gravity=\"end\"`<br/>HarmonyOS: `Row().alignItems(HorizontalAlign.End)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:gravity`",
"`.justifyContent()` / `.alignItems()`",
"flags → FlexAlign",
"Android: `android:gravity=\"center\"`<br/>HarmonyOS: `Column().justifyContent(FlexAlign.Center)`<br/>Android: `android:gravity=\"center_horizontal\"`<br/>HarmonyOS: `Row().alignItems(HorizontalAlign.Center)`<br/>Android: `android:gravity=\"center_vertical\"`<br/>HarmonyOS: `Column().justifyContent(FlexAlign.Center)`<br/>Android: `android:gravity=\"left\"`<br/>HarmonyOS: `Row().alignItems(HorizontalAlign.Start)`<br/>Android: `android:gravity=\"right\"`<br/>HarmonyOS: `Row().alignItems(HorizontalAlign.End)`<br/>Android: `android:gravity=\"start\"`<br/>HarmonyOS: `Row().alignItems(HorizontalAlign.Start)`<br/>Android: `android:gravity=\"end\"`<br/>HarmonyOS: `Row().alignItems(HorizontalAlign.End)`"
]
]
},
{
"table_index": 131,
"rows": [
{
"Android XML": "`android:weightSum`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "float → 自动处理",
"代码示例": "Android: `android:weightSum=\"1.0\"`<br/>HarmonyOS: 自动处理,使用 `.layoutWeight()`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:weightSum`",
"无直接对应",
"float → 自动处理",
"Android: `android:weightSum=\"1.0\"`<br/>HarmonyOS: 自动处理,使用 `.layoutWeight()`"
]
]
},
{
"table_index": 132,
"rows": [
{
"Android XML": "`android:baselineAligned`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 需自定义实现",
"代码示例": "Android: `android:baselineAligned=\"true\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:baselineAligned`",
"无直接对应",
"boolean → 需自定义实现",
"Android: `android:baselineAligned=\"true\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 133,
"rows": [
{
"Android XML": "`android:measureWithLargestChild`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 需自定义实现",
"代码示例": "Android: `android:measureWithLargestChild=\"true\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:measureWithLargestChild`",
"无直接对应",
"boolean → 需自定义实现",
"Android: `android:measureWithLargestChild=\"true\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 134,
"rows": [
{
"Android XML": "`android:divider`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "drawable → Divider 组件",
"代码示例": "Android: `android:divider=\"@drawable/divider\"`<br/>HarmonyOS: 在子组件间插入 `Divider()` 组件"
},
{
"Android XML": "`android:showDividers`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "flags → 手动插入",
"代码示例": "Android: `android:showDividers=\"middle\"`<br/>HarmonyOS: 需手动插入 Divider 组件"
},
{
"Android XML": "`android:dividerPadding`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "dimension → Divider padding",
"代码示例": "Android: `android:dividerPadding=\"8dp\"`<br/>HarmonyOS: `Divider().padding(8)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:divider`",
"无直接对应",
"drawable → Divider 组件",
"Android: `android:divider=\"@drawable/divider\"`<br/>HarmonyOS: 在子组件间插入 `Divider()` 组件"
],
[
"`android:showDividers`",
"无直接对应",
"flags → 手动插入",
"Android: `android:showDividers=\"middle\"`<br/>HarmonyOS: 需手动插入 Divider 组件"
],
[
"`android:dividerPadding`",
"无直接对应",
"dimension → Divider padding",
"Android: `android:dividerPadding=\"8dp\"`<br/>HarmonyOS: `Divider().padding(8)`"
]
]
},
{
"table_index": 135,
"rows": [
{
"Android XML": "`android:layout_gravity`",
"HarmonyOS 属性": "`.align()`",
"类型转换": "flags → Alignment",
"代码示例": "Android: `android:layout_gravity=\"center\"`<br/>HarmonyOS: `.align(Alignment.Center)`<br/>Android: `android:layout_gravity=\"top\"`<br/>HarmonyOS: `.align(Alignment.Top)`<br/>Android: `android:layout_gravity=\"bottom\"`<br/>HarmonyOS: `.align(Alignment.Bottom)`<br/>Android: `android:layout_gravity=\"left\"`<br/>HarmonyOS: `.align(Alignment.Start)`<br/>Android: `android:layout_gravity=\"right\"`<br/>HarmonyOS: `.align(Alignment.End)`<br/>Android: `android:layout_gravity=\"center_horizontal\"`<br/>HarmonyOS: `.align(Alignment.Center)`<br/>Android: `android:layout_gravity=\"start\"`<br/>HarmonyOS: `.align(Alignment.Start)`<br/>Android: `android:layout_gravity=\"end\"`<br/>HarmonyOS: `.align(Alignment.End)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layout_gravity`",
"`.align()`",
"flags → Alignment",
"Android: `android:layout_gravity=\"center\"`<br/>HarmonyOS: `.align(Alignment.Center)`<br/>Android: `android:layout_gravity=\"top\"`<br/>HarmonyOS: `.align(Alignment.Top)`<br/>Android: `android:layout_gravity=\"bottom\"`<br/>HarmonyOS: `.align(Alignment.Bottom)`<br/>Android: `android:layout_gravity=\"left\"`<br/>HarmonyOS: `.align(Alignment.Start)`<br/>Android: `android:layout_gravity=\"right\"`<br/>HarmonyOS: `.align(Alignment.End)`<br/>Android: `android:layout_gravity=\"center_horizontal\"`<br/>HarmonyOS: `.align(Alignment.Center)`<br/>Android: `android:layout_gravity=\"start\"`<br/>HarmonyOS: `.align(Alignment.Start)`<br/>Android: `android:layout_gravity=\"end\"`<br/>HarmonyOS: `.align(Alignment.End)`"
]
]
},
{
"table_index": 136,
"rows": [
{
"Android XML": "`android:layout_weight`",
"HarmonyOS 属性": "`.layoutWeight()`",
"类型转换": "float → number",
"代码示例": "Android: `android:layout_weight=\"1\"`<br/>HarmonyOS: `.layoutWeight(1)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layout_weight`",
"`.layoutWeight()`",
"float → number",
"Android: `android:layout_weight=\"1\"`<br/>HarmonyOS: `.layoutWeight(1)`"
]
]
},
{
"table_index": 137,
"rows": [
{
"Android 方法": "`setOrientation(int)`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "int → 组件选择",
"代码示例": "Android: `linearLayout.setOrientation(LinearLayout.VERTICAL)`<br/>HarmonyOS: 使用 `Column` 组件"
},
{
"Android 方法": "`getOrientation()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "void → 组件判断",
"代码示例": "Android: `int orientation = linearLayout.getOrientation()`<br/>HarmonyOS: 根据组件类型判断"
},
{
"Android 方法": "`setGravity(int)`",
"HarmonyOS 属性": "`.justifyContent()` / `.alignItems()`",
"类型转换": "int → FlexAlign",
"代码示例": "Android: `linearLayout.setGravity(Gravity.CENTER)`<br/>HarmonyOS: `Column().justifyContent(FlexAlign.Center)`"
},
{
"Android 方法": "`setWeightSum(float)`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "float → 自动处理",
"代码示例": "Android: `linearLayout.setWeightSum(1.0f)`<br/>HarmonyOS: 自动处理"
},
{
"Android 方法": "`setBaselineAligned(boolean)`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 需自定义实现",
"代码示例": "Android: `linearLayout.setBaselineAligned(true)`<br/>HarmonyOS: 需自定义实现"
},
{
"Android 方法": "`setMeasureWithLargestChild(boolean)`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 需自定义实现",
"代码示例": "Android: `linearLayout.setMeasureWithLargestChild(true)`<br/>HarmonyOS: 需自定义实现"
},
{
"Android 方法": "`setDividerDrawable()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "Drawable → Divider 组件",
"代码示例": "Android: `linearLayout.setDividerDrawable(divider)`<br/>HarmonyOS: 使用 `Divider()` 组件"
},
{
"Android 方法": "`setShowDividers(int)`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "int → 手动插入",
"代码示例": "Android: `linearLayout.setShowDividers(SHOW_DIVIDER_MIDDLE)`<br/>HarmonyOS: 需手动插入 Divider 组件"
},
{
"Android 方法": "`setDividerPadding(int)`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "int → Divider padding",
"代码示例": "Android: `linearLayout.setDividerPadding(8)`<br/>HarmonyOS: `Divider().padding(8)`"
}
],
"raw_table": [
[
"Android 方法",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`setOrientation(int)`",
"无直接对应",
"int → 组件选择",
"Android: `linearLayout.setOrientation(LinearLayout.VERTICAL)`<br/>HarmonyOS: 使用 `Column` 组件"
],
[
"`getOrientation()`",
"无直接对应",
"void → 组件判断",
"Android: `int orientation = linearLayout.getOrientation()`<br/>HarmonyOS: 根据组件类型判断"
],
[
"`setGravity(int)`",
"`.justifyContent()` / `.alignItems()`",
"int → FlexAlign",
"Android: `linearLayout.setGravity(Gravity.CENTER)`<br/>HarmonyOS: `Column().justifyContent(FlexAlign.Center)`"
],
[
"`setWeightSum(float)`",
"无直接对应",
"float → 自动处理",
"Android: `linearLayout.setWeightSum(1.0f)`<br/>HarmonyOS: 自动处理"
],
[
"`setBaselineAligned(boolean)`",
"无直接对应",
"boolean → 需自定义实现",
"Android: `linearLayout.setBaselineAligned(true)`<br/>HarmonyOS: 需自定义实现"
],
[
"`setMeasureWithLargestChild(boolean)`",
"无直接对应",
"boolean → 需自定义实现",
"Android: `linearLayout.setMeasureWithLargestChild(true)`<br/>HarmonyOS: 需自定义实现"
],
[
"`setDividerDrawable()`",
"无直接对应",
"Drawable → Divider 组件",
"Android: `linearLayout.setDividerDrawable(divider)`<br/>HarmonyOS: 使用 `Divider()` 组件"
],
[
"`setShowDividers(int)`",
"无直接对应",
"int → 手动插入",
"Android: `linearLayout.setShowDividers(SHOW_DIVIDER_MIDDLE)`<br/>HarmonyOS: 需手动插入 Divider 组件"
],
[
"`setDividerPadding(int)`",
"无直接对应",
"int → Divider padding",
"Android: `linearLayout.setDividerPadding(8)`<br/>HarmonyOS: `Divider().padding(8)`"
]
]
},
{
"table_index": 138,
"rows": [
{
"映射类型": "直接映射",
"数量": "6",
"占比": "~26%"
},
{
"映射类型": "需类型转换",
"数量": "4",
"占比": "~17%"
},
{
"映射类型": "需组合实现",
"数量": "8",
"占比": "~35%"
},
{
"映射类型": "无直接对应",
"数量": "5",
"占比": "~22%"
},
{
"映射类型": "**总计**",
"数量": "**23**",
"占比": "**100%**"
}
],
"raw_table": [
[
"映射类型",
"数量",
"占比"
],
[
"直接映射",
"6",
"~26%"
],
[
"需类型转换",
"4",
"~17%"
],
[
"需组合实现",
"8",
"~35%"
],
[
"无直接对应",
"5",
"~22%"
],
[
"**总计**",
"**23**",
"**100%**"
]
]
},
{
"table_index": 139,
"rows": [
{
"Android 组件": "RelativeLayout",
"类名": "`android.widget.RelativeLayout`",
"HarmonyOS 组件": "`RelativeContainer`",
"替代方案": "直接映射",
"说明": "相对布局"
},
{
"Android 组件": "PercentRelativeLayout",
"类名": "`androidx.percentlayout.widget.PercentRelativeLayout`",
"HarmonyOS 组件": "`RelativeContainer` + 约束尺寸",
"替代方案": "已废弃",
"说明": "百分比相对布局"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"RelativeLayout",
"`android.widget.RelativeLayout`",
"`RelativeContainer`",
"直接映射",
"相对布局"
],
[
"PercentRelativeLayout",
"`androidx.percentlayout.widget.PercentRelativeLayout`",
"`RelativeContainer` + 约束尺寸",
"已废弃",
"百分比相对布局"
]
]
},
{
"table_index": 140,
"rows": [
{
"Android XML": "`android:gravity`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "flags → 需自定义实现",
"代码示例": "Android: `android:gravity=\"center\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:gravity`",
"无直接对应",
"flags → 需自定义实现",
"Android: `android:gravity=\"center\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 141,
"rows": [
{
"Android XML": "`android:layout_alignParentTop`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "boolean → alignRules",
"代码示例": "Android: `android:layout_alignParentTop=\"true\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: VerticalAlign.Top })`"
},
{
"Android XML": "`android:layout_alignParentBottom`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "boolean → alignRules",
"代码示例": "Android: `android:layout_alignParentBottom=\"true\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: VerticalAlign.Bottom })`"
},
{
"Android XML": "`android:layout_alignParentLeft`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "boolean → alignRules",
"代码示例": "Android: `android:layout_alignParentLeft=\"true\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: HorizontalAlign.Start })`"
},
{
"Android XML": "`android:layout_alignParentRight`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "boolean → alignRules",
"代码示例": "Android: `android:layout_alignParentRight=\"true\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: HorizontalAlign.End })`"
},
{
"Android XML": "`android:layout_alignParentStart`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "boolean → alignRules",
"代码示例": "Android: `android:layout_alignParentStart=\"true\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: HorizontalAlign.Start })`"
},
{
"Android XML": "`android:layout_alignParentEnd`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "boolean → alignRules",
"代码示例": "Android: `android:layout_alignParentEnd=\"true\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: HorizontalAlign.End })`"
},
{
"Android XML": "`android:layout_centerHorizontal`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "boolean → alignRules",
"代码示例": "Android: `android:layout_centerHorizontal=\"true\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: HorizontalAlign.Center })`"
},
{
"Android XML": "`android:layout_centerVertical`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "boolean → alignRules",
"代码示例": "Android: `android:layout_centerVertical=\"true\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: VerticalAlign.Center })`"
},
{
"Android XML": "`android:layout_centerInParent`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "boolean → alignRules",
"代码示例": "Android: `android:layout_centerInParent=\"true\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: Alignment.Center })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layout_alignParentTop`",
"`.alignRules()`",
"boolean → alignRules",
"Android: `android:layout_alignParentTop=\"true\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: VerticalAlign.Top })`"
],
[
"`android:layout_alignParentBottom`",
"`.alignRules()`",
"boolean → alignRules",
"Android: `android:layout_alignParentBottom=\"true\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: VerticalAlign.Bottom })`"
],
[
"`android:layout_alignParentLeft`",
"`.alignRules()`",
"boolean → alignRules",
"Android: `android:layout_alignParentLeft=\"true\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: HorizontalAlign.Start })`"
],
[
"`android:layout_alignParentRight`",
"`.alignRules()`",
"boolean → alignRules",
"Android: `android:layout_alignParentRight=\"true\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: HorizontalAlign.End })`"
],
[
"`android:layout_alignParentStart`",
"`.alignRules()`",
"boolean → alignRules",
"Android: `android:layout_alignParentStart=\"true\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: HorizontalAlign.Start })`"
],
[
"`android:layout_alignParentEnd`",
"`.alignRules()`",
"boolean → alignRules",
"Android: `android:layout_alignParentEnd=\"true\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: HorizontalAlign.End })`"
],
[
"`android:layout_centerHorizontal`",
"`.alignRules()`",
"boolean → alignRules",
"Android: `android:layout_centerHorizontal=\"true\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: HorizontalAlign.Center })`"
],
[
"`android:layout_centerVertical`",
"`.alignRules()`",
"boolean → alignRules",
"Android: `android:layout_centerVertical=\"true\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: VerticalAlign.Center })`"
],
[
"`android:layout_centerInParent`",
"`.alignRules()`",
"boolean → alignRules",
"Android: `android:layout_centerInParent=\"true\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: Alignment.Center })`"
]
]
},
{
"table_index": 142,
"rows": [
{
"Android XML": "`android:layout_above`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "reference → alignRules",
"代码示例": "Android: `android:layout_above=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: VerticalAlign.Top })`"
},
{
"Android XML": "`android:layout_below`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "reference → alignRules",
"代码示例": "Android: `android:layout_below=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: VerticalAlign.Bottom })`"
},
{
"Android XML": "`android:layout_toLeftOf`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "reference → alignRules",
"代码示例": "Android: `android:layout_toLeftOf=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.Start })`"
},
{
"Android XML": "`android:layout_toRightOf`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "reference → alignRules",
"代码示例": "Android: `android:layout_toRightOf=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.End })`"
},
{
"Android XML": "`android:layout_toStartOf`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "reference → alignRules",
"代码示例": "Android: `android:layout_toStartOf=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.Start })`"
},
{
"Android XML": "`android:layout_toEndOf`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "reference → alignRules",
"代码示例": "Android: `android:layout_toEndOf=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.End })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layout_above`",
"`.alignRules()`",
"reference → alignRules",
"Android: `android:layout_above=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: VerticalAlign.Top })`"
],
[
"`android:layout_below`",
"`.alignRules()`",
"reference → alignRules",
"Android: `android:layout_below=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: VerticalAlign.Bottom })`"
],
[
"`android:layout_toLeftOf`",
"`.alignRules()`",
"reference → alignRules",
"Android: `android:layout_toLeftOf=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.Start })`"
],
[
"`android:layout_toRightOf`",
"`.alignRules()`",
"reference → alignRules",
"Android: `android:layout_toRightOf=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.End })`"
],
[
"`android:layout_toStartOf`",
"`.alignRules()`",
"reference → alignRules",
"Android: `android:layout_toStartOf=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.Start })`"
],
[
"`android:layout_toEndOf`",
"`.alignRules()`",
"reference → alignRules",
"Android: `android:layout_toEndOf=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.End })`"
]
]
},
{
"table_index": 143,
"rows": [
{
"Android XML": "`android:layout_alignTop`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "reference → alignRules",
"代码示例": "Android: `android:layout_alignTop=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: VerticalAlign.Top })`"
},
{
"Android XML": "`android:layout_alignBottom`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "reference → alignRules",
"代码示例": "Android: `android:layout_alignBottom=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: VerticalAlign.Bottom })`"
},
{
"Android XML": "`android:layout_alignLeft`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "reference → alignRules",
"代码示例": "Android: `android:layout_alignLeft=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.Start })`"
},
{
"Android XML": "`android:layout_alignRight`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "reference → alignRules",
"代码示例": "Android: `android:layout_alignRight=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.End })`"
},
{
"Android XML": "`android:layout_alignStart`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "reference → alignRules",
"代码示例": "Android: `android:layout_alignStart=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.Start })`"
},
{
"Android XML": "`android:layout_alignEnd`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "reference → alignRules",
"代码示例": "Android: `android:layout_alignEnd=\"@id/sibling\"`<br/>HarmonyOS:: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.End })`"
},
{
"Android XML": "`android:layout_alignBaseline`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "reference → alignRules",
"代码示例": "Android: `android:layout_alignBaseline=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: VerticalAlign.Center })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layout_alignTop`",
"`.alignRules()`",
"reference → alignRules",
"Android: `android:layout_alignTop=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: VerticalAlign.Top })`"
],
[
"`android:layout_alignBottom`",
"`.alignRules()`",
"reference → alignRules",
"Android: `android:layout_alignBottom=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: VerticalAlign.Bottom })`"
],
[
"`android:layout_alignLeft`",
"`.alignRules()`",
"reference → alignRules",
"Android: `android:layout_alignLeft=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.Start })`"
],
[
"`android:layout_alignRight`",
"`.alignRules()`",
"reference → alignRules",
"Android: `android:layout_alignRight=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.End })`"
],
[
"`android:layout_alignStart`",
"`.alignRules()`",
"reference → alignRules",
"Android: `android:layout_alignStart=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.Start })`"
],
[
"`android:layout_alignEnd`",
"`.alignRules()`",
"reference → alignRules",
"Android: `android:layout_alignEnd=\"@id/sibling\"`<br/>HarmonyOS:: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.End })`"
],
[
"`android:layout_alignBaseline`",
"`.alignRules()`",
"reference → alignRules",
"Android: `android:layout_alignBaseline=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: VerticalAlign.Center })`"
]
]
},
{
"table_index": 144,
"rows": [
{
"映射类型": "直接映射",
"数量": "0",
"占比": "~0%"
},
{
"映射类型": "需类型转换",
"数量": "0",
"占比": "~0%"
},
{
"映射类型": "需组合实现",
"数量": "17",
"占比": "~100%"
},
{
"映射类型": "无直接对应",
"数量": "0",
"占比": "~0%"
},
{
"映射类型": "**总计**",
"数量": "**17**",
"占比": "**100%**"
}
],
"raw_table": [
[
"映射类型",
"数量",
"占比"
],
[
"直接映射",
"0",
"~0%"
],
[
"需类型转换",
"0",
"~0%"
],
[
"需组合实现",
"17",
"~100%"
],
[
"无直接对应",
"0",
"~0%"
],
[
"**总计**",
"**17**",
"**100%**"
]
]
},
{
"table_index": 145,
"rows": [
{
"Android 组件": "FrameLayout",
"类名": "`android.widget.FrameLayout`",
"HarmonyOS 组件": "`Stack`",
"替代方案": "直接映射",
"说明": "帧布局"
},
{
"Android 组件": "DialerFilter",
"类名": "`android.widget.DialerFilter`",
"HarmonyOS 组件": "自定义组合",
"替代方案": "需业务实现",
"说明": "拨号过滤器"
},
{
"Android 组件": "TwoLineListItem",
"类名": "`android.widget.TwoLineListItem`",
"HarmonyOS 组件": "`Column` + 2个 `Text`",
"替代方案": "已废弃",
"说明": "双行列表项"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"FrameLayout",
"`android.widget.FrameLayout`",
"`Stack`",
"直接映射",
"帧布局"
],
[
"DialerFilter",
"`android.widget.DialerFilter`",
"自定义组合",
"需业务实现",
"拨号过滤器"
],
[
"TwoLineListItem",
"`android.widget.TwoLineListItem`",
"`Column` + 2个 `Text`",
"已废弃",
"双行列表项"
]
]
},
{
"table_index": 146,
"rows": [
{
"Android XML": "`android:foreground`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "drawable → 顶层组件",
"代码示例": "Android: `android:foreground=\"@drawable/overlay\"`<br/>HarmonyOS: 在 Stack 顶层添加 Image/Color 组件"
},
{
"Android XML": "`android:foregroundGravity`",
"HarmonyOS 属性": "`.alignContent()`",
"类型转换": "flags → Alignment",
"代码示例": "Android: `android:foregroundGravity=\"center\"`<br/>HarmonyOS: `Stack({ alignContent: Alignment.Center })`"
},
{
"Android XML": "`android:measureAllChildren`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 需自定义实现",
"代码示例": "Android: `android:measureAllChildren=\"true\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:foreground`",
"无直接对应",
"drawable → 顶层组件",
"Android: `android:foreground=\"@drawable/overlay\"`<br/>HarmonyOS: 在 Stack 顶层添加 Image/Color 组件"
],
[
"`android:foregroundGravity`",
"`.alignContent()`",
"flags → Alignment",
"Android: `android:foregroundGravity=\"center\"`<br/>HarmonyOS: `Stack({ alignContent: Alignment.Center })`"
],
[
"`android:measureAllChildren`",
"无直接对应",
"boolean → 需自定义实现",
"Android: `android:measureAllChildren=\"true\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 147,
"rows": [
{
"Android XML": "`android:layout_gravity`",
"HarmonyOS 属性": "`.align()`",
"类型转换": "flags → Alignment",
"代码示例": "Android: `android:layout_gravity=\"center\"`<br/>HarmonyOS: `.align(Alignment.Center)`<br/>Android: `android:layout_gravity=\"top\"`<br/>HarmonyOS: `.align(Alignment.Top)`<br/>Android: `android:layout_gravity=\"bottom\"`<br/>HarmonyOS: `.align(Alignment.Bottom)`<br/>Android: `android:layout_gravity=\"left\"`<br/>HarmonyOS: `.align(Alignment.Start)`<br/>Android: `android:layout_gravity=\"right\"`<br/>HarmonyOS: `.align(Alignment.End)`<br/>Android: `android:layout_gravity=\"center_horizontal\"`<br/>HarmonyOS: `.align(Alignment.Center)`<br/>Android: `android:layout_gravity=\"center_vertical\"`<br/>HarmonyOS: `.align(Alignment.Center)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layout_gravity`",
"`.align()`",
"flags → Alignment",
"Android: `android:layout_gravity=\"center\"`<br/>HarmonyOS: `.align(Alignment.Center)`<br/>Android: `android:layout_gravity=\"top\"`<br/>HarmonyOS: `.align(Alignment.Top)`<br/>Android: `android:layout_gravity=\"bottom\"`<br/>HarmonyOS: `.align(Alignment.Bottom)`<br/>Android: `android:layout_gravity=\"left\"`<br/>HarmonyOS: `.align(Alignment.Start)`<br/>Android: `android:layout_gravity=\"right\"`<br/>HarmonyOS: `.align(Alignment.End)`<br/>Android: `android:layout_gravity=\"center_horizontal\"`<br/>HarmonyOS: `.align(Alignment.Center)`<br/>Android: `android:layout_gravity=\"center_vertical\"`<br/>HarmonyOS: `.align(Alignment.Center)`"
]
]
},
{
"table_index": 148,
"rows": [
{
"映射类型": "直接映射",
"数量": "0",
"占比": "~0%"
},
{
"映射类型": "需类型转换",
"数量": "1",
"占比": "~6%"
},
{
"映射类型": "需组合实现",
"数量": "14",
"占比": "~88%"
},
{
"映射类型": "无直接对应",
"数量": "1",
"占比": "~6%"
},
{
"映射类型": "**总计**",
"数量": "**16**",
"占比": "**100%**"
}
],
"raw_table": [
[
"映射类型",
"数量",
"占比"
],
[
"直接映射",
"0",
"~0%"
],
[
"需类型转换",
"1",
"~6%"
],
[
"需组合实现",
"14",
"~88%"
],
[
"无直接对应",
"1",
"~6%"
],
[
"**总计**",
"**16**",
"**100%**"
]
]
},
{
"table_index": 149,
"rows": [
{
"Android 组件": "GridLayout",
"类名": "`android.widget.GridLayout`",
"HarmonyOS 组件": "`GridRow` + `GridCol`",
"替代方案": "栅格系统",
"说明": "网格布局"
},
{
"Android 组件": "TableLayout",
"类名": "`android.widget.TableLayout`",
"HarmonyOS 组件": "`Grid`",
"替代方案": "自定义表格结构",
"说明": "表格布局"
},
{
"Android 组件": "GridView",
"类名": "`android.widget.GridView`",
"HarmonyOS 组件": "`Grid` + `LazyForEach`",
"替代方案": "高性能网格",
"说明": "网格视图(已废弃)"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"GridLayout",
"`android.widget.GridLayout`",
"`GridRow` + `GridCol`",
"栅格系统",
"网格布局"
],
[
"TableLayout",
"`android.widget.TableLayout`",
"`Grid`",
"自定义表格结构",
"表格布局"
],
[
"GridView",
"`android.widget.GridView`",
"`Grid` + `LazyForEach`",
"高性能网格",
"网格视图(已废弃)"
]
]
},
{
"table_index": 150,
"rows": [
{
"Android XML": "`android:columnCount`",
"HarmonyOS 属性": "`columnsTemplate`",
"类型转换": "int → template string",
"代码示例": "Android: `android:columnCount=\"3\"`<br/>HarmonyOS: `GridRow({ columnsTemplate: '1fr 1fr 1fr' })`"
},
{
"Android XML": "`android:rowCount`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "int → 自动计算",
"代码示例": "Android: `android:rowCount=\"2\"`<br/>HarmonyOS: 自动根据 GridRow 数量计算"
},
{
"Android XML": "`android:orientation`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 布局方向",
"代码示例": "Android: `android:orientation=\"horizontal\"`<br/>HarmonyOS: 使用`GridRow/GridCol` 嵌套结构"
},
{
"Android XML": "`android:useDefaultMargins`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 需自定义实现",
"代码示例": "Android: `android:useDefaultMargins=\"true\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:alignmentMode`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 需自定义实现",
"代码示例": "Android: `android:alignmentMode=\"alignBounds\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:columnOrderPreserved`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 需自定义实现",
"代码示例": "Android: `android:columnOrderPreserved=\"true\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:rowOrderPreserved`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 需自定义实现",
"代码示例": "Android: `android:rowOrderPreserved=\"true\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:columnCount`",
"`columnsTemplate`",
"int → template string",
"Android: `android:columnCount=\"3\"`<br/>HarmonyOS: `GridRow({ columnsTemplate: '1fr 1fr 1fr' })`"
],
[
"`android:rowCount`",
"无直接对应",
"int → 自动计算",
"Android: `android:rowCount=\"2\"`<br/>HarmonyOS: 自动根据 GridRow 数量计算"
],
[
"`android:orientation`",
"无直接对应",
"enum → 布局方向",
"Android: `android:orientation=\"horizontal\"`<br/>HarmonyOS: 使用`GridRow/GridCol` 嵌套结构"
],
[
"`android:useDefaultMargins`",
"无直接对应",
"boolean → 需自定义实现",
"Android: `android:useDefaultMargins=\"true\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:alignmentMode`",
"无直接对应",
"enum → 需自定义实现",
"Android: `android:alignmentMode=\"alignBounds\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:columnOrderPreserved`",
"无直接对应",
"boolean → 需自定义实现",
"Android: `android:columnOrderPreserved=\"true\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:rowOrderPreserved`",
"无直接对应",
"boolean → 需自定义实现",
"Android: `android:rowOrderPreserved=\"true\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 151,
"rows": [
{
"Android XML": "`android:layout_column`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "int → GridCol 位置",
"代码示例": "Android: `android:layout_column=\"1\"`<br/>HarmonyOS: 通过`GridCol` 位置确定"
},
{
"Android XML": "`android:layout_row`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "int → GridRow 位置",
"代码示例": "Android: `android:layout_row=\"1\"`<br/>HarmonyOS: 通过`GridRow` 位置确定"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layout_column`",
"无直接对应",
"int → GridCol 位置",
"Android: `android:layout_column=\"1\"`<br/>HarmonyOS: 通过`GridCol` 位置确定"
],
[
"`android:layout_row`",
"无直接对应",
"int → GridRow 位置",
"Android: `android:layout_row=\"1\"`<br/>HarmonyOS: 通过`GridRow` 位置确定"
]
]
},
{
"table_index": 152,
"rows": [
{
"Android XML": "`android:layout_columnSpan`",
"HarmonyOS 属性": "`span`",
"类型转换": "int → number",
"代码示例": "Android: `android:layout_columnSpan=\"2\"`<br/>HarmonyOS: `GridCol({ span: 2 })`"
},
{
"Android XML": "`android:layout_rowSpan`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "int → 需嵌套 GridRow",
"代码示例": "Android: `android:layout_rowSpan=\"2\"`<br/>HarmonyOS: 需嵌套`GridRow` 实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layout_columnSpan`",
"`span`",
"int → number",
"Android: `android:layout_columnSpan=\"2\"`<br/>HarmonyOS: `GridCol({ span: 2 })`"
],
[
"`android:layout_rowSpan`",
"无直接对应",
"int → 需嵌套 GridRow",
"Android: `android:layout_rowSpan=\"2\"`<br/>HarmonyOS: 需嵌套`GridRow` 实现"
]
]
},
{
"table_index": 153,
"rows": [
{
"Android XML": "`android:layout_columnWeight`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "float → 百分比",
"代码示例": "Android: `android:layout_columnWeight=\"1\"`<br/>HarmonyOS: `GridCol().width('33.3%')`"
},
{
"Android XML": "`android:layout_rowWeight`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "float → 百分比",
"代码示例": "Android: `android:layout_rowWeight=\"1\"`<br/>HarmonyOS: `GridRow().height('50%')`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layout_columnWeight`",
"无直接对应",
"float → 百分比",
"Android: `android:layout_columnWeight=\"1\"`<br/>HarmonyOS: `GridCol().width('33.3%')`"
],
[
"`android:layout_rowWeight`",
"无直接对应",
"float → 百分比",
"Android: `android:layout_rowWeight=\"1\"`<br/>HarmonyOS: `GridRow().height('50%')`"
]
]
},
{
"table_index": 154,
"rows": [
{
"Android XML": "`android:layout_gravity`",
"HarmonyOS 属性": "`.align()` / `.justify()`",
"类型转换": "flags → Alignment",
"代码示例": "Android: `android:layout_gravity=\"center\"`<br/>HarmonyOS: `.align(Alignment.Center)`<br/>Android: `android:layout_gravity=\"top\"`<br/>HarmonyOS: `.align(Alignment.Top)`<br/>Android: `android:layout_gravity=\"bottom\"`<br/>HarmonyOS: `.align(Alignment.Bottom)`<br/>Android: `android:layout_gravity=\"left\"`<br/>HarmonyOS: `.align(Alignment.Start)`<br/>Android: `android:layout_gravity=\"right\"`<br/>HarmonyOS: `.align(Alignment.End)`<br/>Android: `android:layout_gravity=\"center_horizontal\"`<br/>HarmonyOS: `.align(Alignment.Center)`<br/>Android: `android:layout_gravity=\"center_vertical\"`<br/>HarmonyOS: `.align(Alignment.Center)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layout_gravity`",
"`.align()` / `.justify()`",
"flags → Alignment",
"Android: `android:layout_gravity=\"center\"`<br/>HarmonyOS: `.align(Alignment.Center)`<br/>Android: `android:layout_gravity=\"top\"`<br/>HarmonyOS: `.align(Alignment.Top)`<br/>Android: `android:layout_gravity=\"bottom\"`<br/>HarmonyOS: `.align(Alignment.Bottom)`<br/>Android: `android:layout_gravity=\"left\"`<br/>HarmonyOS: `.align(Alignment.Start)`<br/>Android: `android:layout_gravity=\"right\"`<br/>HarmonyOS: `.align(Alignment.End)`<br/>Android: `android:layout_gravity=\"center_horizontal\"`<br/>HarmonyOS: `.align(Alignment.Center)`<br/>Android: `android:layout_gravity=\"center_vertical\"`<br/>HarmonyOS: `.align(Alignment.Center)`"
]
]
},
{
"table_index": 155,
"rows": [
{
"映射类型": "直接映射",
"数量": "2",
"占比": "~10%"
},
{
"映射类型": "需类型转换",
"数量": "4",
"占比": "~20%"
},
{
"映射类型": "需组合实现",
"数量": "10",
"占比": "~50%"
},
{
"映射类型": "无直接对应",
"数量": "4",
"占比": "~20%"
},
{
"映射类型": "**总计**",
"数量": "**20**",
"占比": "**100%**"
}
],
"raw_table": [
[
"映射类型",
"数量",
"占比"
],
[
"直接映射",
"2",
"~10%"
],
[
"需类型转换",
"4",
"~20%"
],
[
"需组合实现",
"10",
"~50%"
],
[
"无直接对应",
"4",
"~20%"
],
[
"**总计**",
"**20**",
"**100%**"
]
]
},
{
"table_index": 156,
"rows": [
{
"Android 组件": "ConstraintLayout",
"类名": "`androidx.constraintlayout.widget.ConstraintLayout`",
"HarmonyOS 组件": "`RelativeContainer`",
"替代方案": "部分对应",
"说明": "约束布局"
},
{
"Android 组件": "ConstraintSet",
"类名": "`androidx.constraintlayout.widget.ConstraintSet`",
"HarmonyOS 组件": "自定义状态管理",
"替代方案": "动态配置",
"说明": "约束集合"
},
{
"Android 组件": "Guideline",
"类名": "`androidx.constraintlayout.widget.Guideline`",
"HarmonyOS 组件": "暂无直接对应",
"替代方案": "辅助 Absolute 定位",
"说明": "辅助线"
},
{
"Android 组件": "Barrier",
"类名": "`androidx.constraintlayout.widget.Barrier`",
"HarmonyOS 组件": "暂无直接对应",
"替代方案": "手动计算位置",
"说明": "屏障"
},
{
"Android 组件": "Group",
"类名": "`androidx.constraintlayout.widget.Group`",
"HarmonyOS 组件": "暂无直接对应",
"替代方案": "批量操作",
"说明": "组件组"
},
{
"Android 组件": "Placeholder",
"类名": "`androidx.constraintlayout.widget.Placeholder`",
"HarmonyOS 组件": "暂无直接对应",
"替代方案": "动态替换",
"说明": "占位符"
},
{
"Android 组件": "Layer",
"类名": "`androidx.constraintlayout.helper.widget.Layer`",
"HarmonyOS 组件": "`Stack`",
"替代方案": "组合其他容器",
"说明": "图层"
},
{
"Android 组件": "Flow",
"类名": "`androidx.constraintlayout.helper.widget.Flow`",
"HarmonyOS 组件": "`Flex`",
"替代方案": "流式布局",
"说明": "流式布局辅助"
},
{
"Android 组件": "Grid",
"类名": "`androidx.constraintlayout.helper.widget.Grid`",
"HarmonyOS 组件": "`GridRow` + `GridCol`",
"替代方案": "栅格系统",
"说明": "网格辅助"
},
{
"Android 组件": "Carousel",
"类名": "`androidx.constraintlayout.helper.widget.Carousel`",
"HarmonyOS 组件": "`Swiper`",
"替代方案": "轮播容器",
"说明": "轮播辅助"
},
{
"Android 组件": "MotionLayout",
"类名": "`androidx.constraintlayout.motion.motion.widget.MotionLayout`",
"HarmonyOS 组件": "动画 API 组合",
"替代方案": "animateTo + transition",
"说明": "动画布局"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"ConstraintLayout",
"`androidx.constraintlayout.widget.ConstraintLayout`",
"`RelativeContainer`",
"部分对应",
"约束布局"
],
[
"ConstraintSet",
"`androidx.constraintlayout.widget.ConstraintSet`",
"自定义状态管理",
"动态配置",
"约束集合"
],
[
"Guideline",
"`androidx.constraintlayout.widget.Guideline`",
"暂无直接对应",
"辅助 Absolute 定位",
"辅助线"
],
[
"Barrier",
"`androidx.constraintlayout.widget.Barrier`",
"暂无直接对应",
"手动计算位置",
"屏障"
],
[
"Group",
"`androidx.constraintlayout.widget.Group`",
"暂无直接对应",
"批量操作",
"组件组"
],
[
"Placeholder",
"`androidx.constraintlayout.widget.Placeholder`",
"暂无直接对应",
"动态替换",
"占位符"
],
[
"Layer",
"`androidx.constraintlayout.helper.widget.Layer`",
"`Stack`",
"组合其他容器",
"图层"
],
[
"Flow",
"`androidx.constraintlayout.helper.widget.Flow`",
"`Flex`",
"流式布局",
"流式布局辅助"
],
[
"Grid",
"`androidx.constraintlayout.helper.widget.Grid`",
"`GridRow` + `GridCol`",
"栅格系统",
"网格辅助"
],
[
"Carousel",
"`androidx.constraintlayout.helper.widget.Carousel`",
"`Swiper`",
"轮播容器",
"轮播辅助"
],
[
"MotionLayout",
"`androidx.constraintlayout.motion.motion.widget.MotionLayout`",
"动画 API 组合",
"animateTo + transition",
"动画布局"
]
]
},
{
"table_index": 157,
"rows": [
{
"Android XML": "`android:gravity`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "flags → 需自定义实现",
"代码示例": "Android: `android:gravity=\"center\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:gravity`",
"无直接对应",
"flags → 需自定义实现",
"Android: `android:gravity=\"center\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 158,
"rows": [
{
"Android XML": "`android:layout_constraintTop_toTopOf`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "reference → alignRules",
"代码示例": "Android: `android:layout_constraintTop_toTopOf=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: VerticalAlign.Top })`"
},
{
"Android XML": "`android:layout_constraintBottom_toBottomOf`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "reference → alignRules",
"代码示例": "Android: `android:layout_constraintBottom_toBottomOf=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: VerticalAlign.Bottom })`"
},
{
"Android XML": "`android:layout_constraintStart_toStartOf`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "reference → alignRules",
"代码示例": "Android: `android:layout_constraintStart_toStartOf=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.Start })`"
},
{
"Android XML": "`android:layout_constraintEnd_toEndOf`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "reference → alignRules",
"代码示例": "Android: `android:layout_constraintEnd_toEndOf=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.End })`"
},
{
"Android XML": "`android:layout_constraintLeft_toLeftOf`",
"HarmonyOS 属性": "`.alignRules()`()`",
"类型转换": "reference → alignRules",
"代码示例": "Android: `android:layout_constraintLeft_toLeftOf=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.Start })`"
},
{
"Android XML": "`android:layout_constraintRight_toRightOf`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "reference → alignRules",
"代码示例": "Android: `android:layout_constraintRight_toRightOf=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.End })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layout_constraintTop_toTopOf`",
"`.alignRules()`",
"reference → alignRules",
"Android: `android:layout_constraintTop_toTopOf=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: VerticalAlign.Top })`"
],
[
"`android:layout_constraintBottom_toBottomOf`",
"`.alignRules()`",
"reference → alignRules",
"Android: `android:layout_constraintBottom_toBottomOf=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: VerticalAlign.Bottom })`"
],
[
"`android:layout_constraintStart_toStartOf`",
"`.alignRules()`",
"reference → alignRules",
"Android: `android:layout_constraintStart_toStartOf=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.Start })`"
],
[
"`android:layout_constraintEnd_toEndOf`",
"`.alignRules()`",
"reference → alignRules",
"Android: `android:layout_constraintEnd_toEndOf=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.End })`"
],
[
"`android:layout_constraintLeft_toLeftOf`",
"`.alignRules()`()`",
"reference → alignRules",
"Android: `android:layout_constraintLeft_toLeftOf=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.Start })`"
],
[
"`android:layout_constraintRight_toRightOf`",
"`.alignRules()`",
"reference → alignRules",
"Android: `android:layout_constraintRight_toRightOf=\"@id/sibling\"`<br/>HarmonyOS: `.alignRules({ anchor: 'sibling', align: HorizontalAlign.End })`"
]
]
},
{
"table_index": 159,
"rows": [
{
"Android XML": "`android:layout_constraintTop_toTopOf=\"parent\"`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "parent → __container__",
"代码示例": "Android: `android:layout_constraintTop_toTopOf=\"parent\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: VerticalAlign.Top })`"
},
{
"Android XML": "`android:layout_constraintBottom_toBottomOf=\"parent\"`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "parent → __container__",
"代码示例": "Android: `android:layout_constraintBottom_toBottomOf=\"parent\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: VerticalAlign.Bottom })`"
},
{
"Android XML": "`android:layout_constraintStart_toStartOf=\"parent\"`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "parent → __container__",
"代码示例": "Android: `android:layout_constraintStart_toStartOf=\"parent\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: HorizontalAlign.Start })`"
},
{
"Android XML": "`android:layout_constraintEnd_toEndOf=\"parent\"`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "parent → __container__",
"代码示例": "Android: `android:layout_constraintEnd_toEndOf=\"parent\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: HorizontalAlign.End })`"
},
{
"Android XML": "`android:layout_constraintLeft_toLeftOf=\"parent\"`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "parent → __container__",
"代码示例": "Android: `android:layout_constraintLeft_toLeftOf=\"parent\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: HorizontalAlign.Start })`"
},
{
"Android XML": "`android:layout_constraintRight_toRightOf=\"parent\"`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "parent → __container__",
"代码示例": "Android: `android:layout_constraintRight_toRightOf=\"parent\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: HorizontalAlign.End })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layout_constraintTop_toTopOf=\"parent\"`",
"`.alignRules()`",
"parent → __container__",
"Android: `android:layout_constraintTop_toTopOf=\"parent\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: VerticalAlign.Top })`"
],
[
"`android:layout_constraintBottom_toBottomOf=\"parent\"`",
"`.alignRules()`",
"parent → __container__",
"Android: `android:layout_constraintBottom_toBottomOf=\"parent\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: VerticalAlign.Bottom })`"
],
[
"`android:layout_constraintStart_toStartOf=\"parent\"`",
"`.alignRules()`",
"parent → __container__",
"Android: `android:layout_constraintStart_toStartOf=\"parent\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: HorizontalAlign.Start })`"
],
[
"`android:layout_constraintEnd_toEndOf=\"parent\"`",
"`.alignRules()`",
"parent → __container__",
"Android: `android:layout_constraintEnd_toEndOf=\"parent\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: HorizontalAlign.End })`"
],
[
"`android:layout_constraintLeft_toLeftOf=\"parent\"`",
"`.alignRules()`",
"parent → __container__",
"Android: `android:layout_constraintLeft_toLeftOf=\"parent\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: HorizontalAlign.Start })`"
],
[
"`android:layout_constraintRight_toRightOf=\"parent\"`",
"`.alignRules()`",
"parent → __container__",
"Android: `android:layout_constraintRight_toRightOf=\"parent\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: HorizontalAlign.End })`"
]
]
},
{
"table_index": 160,
"rows": [
{
"Android XML": "`android:layout_constraintStart_toStartOf=\"parent\"` + `android:layout_constraintEnd_toEndOf=\"parent\"`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "双约束 → 居中",
"代码示例": "Android: 双边约束<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: HorizontalAlign.Center })`"
},
{
"Android XML": "`android:layout_constraintTop_toTopOf=\"parent\"` + `android:layout_constraintBottom_toBottomOf=\"parent\"`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "双约束 → 居中",
"代码示例": "Android: 双边约束<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: VerticalAlign.Center })`"
},
{
"Android XML": "`android:layout_centerInParent=\"true\"`",
"HarmonyOS 属性": "`.alignRules()`",
"类型转换": "boolean → 居中",
"代码示例": "Android: `android:layout_centerInParent=\"true\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: Alignment.Center })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layout_constraintStart_toStartOf=\"parent\"` + `android:layout_constraintEnd_toEndOf=\"parent\"`",
"`.alignRules()`",
"双约束 → 居中",
"Android: 双边约束<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: HorizontalAlign.Center })`"
],
[
"`android:layout_constraintTop_toTopOf=\"parent\"` + `android:layout_constraintBottom_toBottomOf=\"parent\"`",
"`.alignRules()`",
"双约束 → 居中",
"Android: 双边约束<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: VerticalAlign.Center })`"
],
[
"`android:layout_centerInParent=\"true\"`",
"`.alignRules()`",
"boolean → 居中",
"Android: `android:layout_centerInParent=\"true\"`<br/>HarmonyOS: `.alignRules({ anchor: '__container__', align: Alignment.Center })`"
]
]
},
{
"table_index": 161,
"rows": [
{
"Android XML": "`android:layout_constraintWidth_default`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 需自定义实现",
"代码示例": "Android: `android:layout_constraintWidth_default=\"spread\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:layout_constraintHeight_default`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 需自定义实现",
"代码示例": "Android: `android:layout_constraintHeight_default=\"spread\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:layout_constraintWidth_min`",
"HarmonyOS 属性": "`.constraintSize()`",
"类型转换": "dimension → minWidth",
"代码示例": "Android: `android:layout_constraintWidth_min=\"100dp\"`<br/>HarmonyOS: `.constraintSize({ minWidth: 100 })`"
},
{
"Android XML": "`android:layout_constraintHeight_min`",
"HarmonyOS 属性": "`.constraintSize()`",
"类型转换": "dimension → minHeight",
"代码示例": "Android: `android:layout_constraintHeight_min=\"100dp\"`<br/>HarmonyOS: `.constraintSize({ minHeight: 100 })`"
},
{
"Android XML": "`android:layout_constraintWidth_max`",
"HarmonyOS 属性": "`.constraintSize()`",
"类型转换": "dimension → maxWidth",
"代码示例": "Android: `android:layout_constraintWidth_max=\"200dp\"`<br/>HarmonyOS: `.constraintSize({ maxWidth: 200 })`"
},
{
"Android XML": "`android:layout_constraintHeight_max`",
"HarmonyOS 属性": "`.constraintSize()`",
"类型转换": "dimension → maxHeight",
"代码示例": "Android: `android:layout_constraintHeight_max=\"200dp\"`<br/>HarmonyOS: `.constraintSize({ maxHeight: 200 })`"
},
{
"Android XML": "`android:layout_constraintWidth_percent`",
"HarmonyOS 属性": "`.width()`",
"类型转换": "float → 百分比",
"代码示例": "Android: `android:layout_constraintWidth_percent=\"0.5\"`<br/>HarmonyOS: `.width('50%')`"
},
{
"Android XML": "`android:layout_constraintHeight_percent`",
"HarmonyOS 属性": "`.height()`",
"类型转换": "float → 百分比",
"代码示例": "Android: `android:layout_constraintHeight_percent=\"0.5\"`<br/>HarmonyOS: `.height('50%')`"
},
{
"Android XML": "`android:layout_constraintDimensionRatio`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "string → 需自定义实现",
"代码示例": "Android: `android:layout_constraintDimensionRatio=\"16:9\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layout_constraintWidth_default`",
"无直接对应",
"enum → 需自定义实现",
"Android: `android:layout_constraintWidth_default=\"spread\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:layout_constraintHeight_default`",
"无直接对应",
"enum → 需自定义实现",
"Android: `android:layout_constraintHeight_default=\"spread\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:layout_constraintWidth_min`",
"`.constraintSize()`",
"dimension → minWidth",
"Android: `android:layout_constraintWidth_min=\"100dp\"`<br/>HarmonyOS: `.constraintSize({ minWidth: 100 })`"
],
[
"`android:layout_constraintHeight_min`",
"`.constraintSize()`",
"dimension → minHeight",
"Android: `android:layout_constraintHeight_min=\"100dp\"`<br/>HarmonyOS: `.constraintSize({ minHeight: 100 })`"
],
[
"`android:layout_constraintWidth_max`",
"`.constraintSize()`",
"dimension → maxWidth",
"Android: `android:layout_constraintWidth_max=\"200dp\"`<br/>HarmonyOS: `.constraintSize({ maxWidth: 200 })`"
],
[
"`android:layout_constraintHeight_max`",
"`.constraintSize()`",
"dimension → maxHeight",
"Android: `android:layout_constraintHeight_max=\"200dp\"`<br/>HarmonyOS: `.constraintSize({ maxHeight: 200 })`"
],
[
"`android:layout_constraintWidth_percent`",
"`.width()`",
"float → 百分比",
"Android: `android:layout_constraintWidth_percent=\"0.5\"`<br/>HarmonyOS: `.width('50%')`"
],
[
"`android:layout_constraintHeight_percent`",
"`.height()`",
"float → 百分比",
"Android: `android:layout_constraintHeight_percent=\"0.5\"`<br/>HarmonyOS: `.height('50%')`"
],
[
"`android:layout_constraintDimensionRatio`",
"无直接对应",
"string → 需自定义实现",
"Android: `android:layout_constraintDimensionRatio=\"16:9\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 162,
"rows": [
{
"Android XML": "`android:layout_constraintHorizontal_bias`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "float → 需自定义实现",
"代码示例": "Android: `android:layout_constraintHorizontal_bias=\"0.5\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:layout_constraintVertical_bias`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "float → 需自定义实现",
"代码示例": "Android: `android:layout_constraintVertical_bias=\"0.5\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layout_constraintHorizontal_bias`",
"无直接对应",
"float → 需自定义实现",
"Android: `android:layout_constraintHorizontal_bias=\"0.5\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:layout_constraintVertical_bias`",
"无直接对应",
"float → 需自定义实现",
"Android: `android:layout_constraintVertical_bias=\"0.5\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 163,
"rows": [
{
"Android XML": "`android:layout_constraintHorizontal_chainStyle`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 需自定义实现",
"代码示例": "Android: `android:layout_constraintHorizontal_chainStyle=\"spread\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:layout_constraintVertical_chainStyle`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 需自定义实现",
"代码示例": "Android: `android:layout_constraintVertical_chainStyle=\"spread\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:layout_constraintHorizontal_weight`",
"HarmonyOS 属性": "`.layoutWeight()`",
"类型转换": "float → number",
"代码示例": "Android: `android:layout_constraintHorizontal_weight=\"1\"`<br/>HarmonyOS: `.layoutWeight(1)`"
},
{
"Android XML": "`android:layout_constraintVertical_weight`",
"HarmonyOS 属性": "`.layoutWeight()`",
"类型转换": "float → number",
"代码示例": "Android: `android:layout_constraintVertical_weight=\"1\"`<br/>HarmonyOS: `.layoutWeight(1)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layout_constraintHorizontal_chainStyle`",
"无直接对应",
"enum → 需自定义实现",
"Android: `android:layout_constraintHorizontal_chainStyle=\"spread\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:layout_constraintVertical_chainStyle`",
"无直接对应",
"enum → 需自定义实现",
"Android: `android:layout_constraintVertical_chainStyle=\"spread\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:layout_constraintHorizontal_weight`",
"`.layoutWeight()`",
"float → number",
"Android: `android:layout_constraintHorizontal_weight=\"1\"`<br/>HarmonyOS: `.layoutWeight(1)`"
],
[
"`android:layout_constraintVertical_weight`",
"`.layoutWeight()`",
"float → number",
"Android: `android:layout_constraintVertical_weight=\"1\"`<br/>HarmonyOS: `.layoutWeight(1)`"
]
]
},
{
"table_index": 164,
"rows": [
{
"Android XML": "`android:layout_constraintCircle`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "reference → 需自定义实现",
"代码示例": "Android: `android:layout_constraintCircle=\"@id/center\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:layout_constraintCircleRadius`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "dimension → 需自定义实现",
"代码示例": "Android: `android:layout_constraintCircleRadius=\"100dp\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:layout_constraintCircleAngle`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "float → 需自定义实现",
"代码示例": "Android: `android:layout_constraintCircleAngle=\"45\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layout_constraintCircle`",
"无直接对应",
"reference → 需自定义实现",
"Android: `android:layout_constraintCircle=\"@id/center\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:layout_constraintCircleRadius`",
"无直接对应",
"dimension → 需自定义实现",
"Android: `android:layout_constraintCircleRadius=\"100dp\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:layout_constraintCircleAngle`",
"无直接对应",
"float → 需自定义实现",
"Android: `android:layout_constraintCircleAngle=\"45\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 165,
"rows": [
{
"Android XML": "`android:orientation`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 需自定义实现",
"代码示例": "Android: `android:orientation=\"horizontal\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:layout_constraintGuide_begin`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "dimension → 需自定义实现",
"代码示例": "Android: `android:layout_constraintGuide_begin=\"100dp\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:layout_constraintGuide_end`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "dimension → 需自定义实现",
"代码示例": "Android: `android:layout_constraintGuide_end=\"100dp\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:layout_constraintGuide_percent`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "float → 需自定义实现",
"代码示例": "Android: `android:layout_constraintGuide_percent=\"0.5\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:orientation`",
"无直接对应",
"enum → 需自定义实现",
"Android: `android:orientation=\"horizontal\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:layout_constraintGuide_begin`",
"无直接对应",
"dimension → 需自定义实现",
"Android: `android:layout_constraintGuide_begin=\"100dp\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:layout_constraintGuide_end`",
"无直接对应",
"dimension → 需自定义实现",
"Android: `android:layout_constraintGuide_end=\"100dp\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:layout_constraintGuide_percent`",
"无直接对应",
"float → 需自定义实现",
"Android: `android:layout_constraintGuide_percent=\"0.5\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 166,
"rows": [
{
"Android XML": "`android:id`",
"HarmonyOS 属性": "`.id()`",
"类型转换": "reference → string",
"代码示例": "Android: `android:id=\"@+id/barrier\"`<br/>HarmonyOS: `.id('barrier')`"
},
{
"Android XML": "`app:barrierDirection`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 需自定义实现",
"代码示例": "Android: `app:barrierDirection=\"top\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:constraint_referenced_ids`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "id list → 需自定义实现",
"代码示例": "Android: `app:constraint_referenced_ids=\"@id/view1,@id/view2\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:id`",
"`.id()`",
"reference → string",
"Android: `android:id=\"@+id/barrier\"`<br/>HarmonyOS: `.id('barrier')`"
],
[
"`app:barrierDirection`",
"无直接对应",
"enum → 需自定义实现",
"Android: `app:barrierDirection=\"top\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:constraint_referenced_ids`",
"无直接对应",
"id list → 需自定义实现",
"Android: `app:constraint_referenced_ids=\"@id/view1,@id/view2\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 167,
"rows": [
{
"Android XML": "`android:id`",
"HarmonyOS 属性": "`.id()`",
"类型转换": "reference) → string",
"代码示例": "Android: `android:id=\"@+id/group\"`<br/>HarmonyOS: `.id('group')`"
},
{
"Android XML": "`app:constraint_referenced_ids`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "id list → 需自定义实现",
"代码示例": "Android: `app:constraint_referenced_ids=\"@id/view1,@id/view2\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:visibility`",
"HarmonyOS 属性": "`.visibility()`",
"类型转换": "enum → Visibility",
"代码示例": "Android: `android:visibility=\"gone\"`<br/>HarmonyOS: `.visibility(Visibility.None)`"
},
{
"Android XML": "`android:elevation`",
"HarmonyOS 属性": "`.shadow()`",
"类型转换": "dimension → shadow",
"代码示例": "Android: `android:elevation=\"8dp\"`<br/>HarmonyOS: `.shadow({ radius: 8 })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:id`",
"`.id()`",
"reference) → string",
"Android: `android:id=\"@+id/group\"`<br/>HarmonyOS: `.id('group')`"
],
[
"`app:constraint_referenced_ids`",
"无直接对应",
"id list → 需自定义实现",
"Android: `app:constraint_referenced_ids=\"@id/view1,@id/view2\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:visibility`",
"`.visibility()`",
"enum → Visibility",
"Android: `android:visibility=\"gone\"`<br/>HarmonyOS: `.visibility(Visibility.None)`"
],
[
"`android:elevation`",
"`.shadow()`",
"dimension → shadow",
"Android: `android:elevation=\"8dp\"`<br/>HarmonyOS: `.shadow({ radius: 8 })`"
]
]
},
{
"table_index": 168,
"rows": [
{
"Android XML": "`android:id`",
"HarmonyOS 属性": "`.id()`",
"类型转换": "reference → string",
"代码示例": "Android: `android:id=\"@+id/placeholder\"`<br/>HarmonyOS: `.id('placeholder')`"
},
{
"Android XML": "`android:content`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "reference → 需自定义实现",
"代码示例": "Android: `android:content=\"@id/view\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:emptyVisibility`",
"HarmonyOS 属性": "`.visibility()`",
"类型转换": "enum → Visibility",
"代码示例": "Android: `android:emptyVisibility=\"gone\"`<br/>HarmonyOS: `.visibility(Visibility.None)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:id`",
"`.id()`",
"reference → string",
"Android: `android:id=\"@+id/placeholder\"`<br/>HarmonyOS: `.id('placeholder')`"
],
[
"`android:content`",
"无直接对应",
"reference → 需自定义实现",
"Android: `android:content=\"@id/view\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:emptyVisibility`",
"`.visibility()`",
"enum → Visibility",
"Android: `android:emptyVisibility=\"gone\"`<br/>HarmonyOS: `.visibility(Visibility.None)`"
]
]
},
{
"table_index": 169,
"rows": [
{
"Android XML": "`android:id`",
"HarmonyOS 属性": "`.id()`",
"类型转换": "reference → string",
"代码示例": "Android: `android:id=\"@+id/layer\"`<br/>HarmonyOS: `.id('layer')`"
},
{
"Android XML": "`app:constraint_referenced_ids`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "id list → 需自定义实现",
"代码示例": "Android: `app:constraint_referenced_ids=\"@id/view1,@id/view2\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`android:rotation`",
"HarmonyOS 属性": "`.rotate()`",
"类型转换": "float → { angle: number }",
"代码示例": "Android: `android:rotation=\"45\"`<br/>HarmonyOS: `.rotate({ angle: 45 })`"
},
{
"Android XML": "`android:scaleX`",
"HarmonyOS 属性": "`.scale()`",
"类型转换": "float → { x: number }",
"代码示例": "Android: `android:scaleX=\"1.5\"`<br/>HarmonyOS: `.scale({ x: 1.5 })`"
},
{
"Android XML": "`android:scaleY`",
"HarmonyOS 属性": "`.scale()`",
"类型转换": "float → { y: number }",
"代码示例": "Android: `android:scaleY=\"1.5\"`<br/>HarmonyOS: `.scale({ y: 1.5 })`"
},
{
"Android XML": "`android:translationX`",
"HarmonyOS 属性": "`.translate()`",
"类型转换": "float → { x: number }",
"代码示例": "Android: `android:translationX=\"100\"`<br/>HarmonyOS: `.translate({ x: 100 })`"
},
{
"Android XML": "`android:translationY`",
"HarmonyOS 属性": "`.translate()`",
"类型转换": "float → { y: number }",
"代码示例": "Android: `android:translationY=\"100\"`<br/>HarmonyOS: `.translate({ y: 100 })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:id`",
"`.id()`",
"reference → string",
"Android: `android:id=\"@+id/layer\"`<br/>HarmonyOS: `.id('layer')`"
],
[
"`app:constraint_referenced_ids`",
"无直接对应",
"id list → 需自定义实现",
"Android: `app:constraint_referenced_ids=\"@id/view1,@id/view2\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`android:rotation`",
"`.rotate()`",
"float → { angle: number }",
"Android: `android:rotation=\"45\"`<br/>HarmonyOS: `.rotate({ angle: 45 })`"
],
[
"`android:scaleX`",
"`.scale()`",
"float → { x: number }",
"Android: `android:scaleX=\"1.5\"`<br/>HarmonyOS: `.scale({ x: 1.5 })`"
],
[
"`android:scaleY`",
"`.scale()`",
"float → { y: number }",
"Android: `android:scaleY=\"1.5\"`<br/>HarmonyOS: `.scale({ y: 1.5 })`"
],
[
"`android:translationX`",
"`.translate()`",
"float → { x: number }",
"Android: `android:translationX=\"100\"`<br/>HarmonyOS: `.translate({ x: 100 })`"
],
[
"`android:translationY`",
"`.translate()`",
"float → { y: number }",
"Android: `android:translationY=\"100\"`<br/>HarmonyOS: `.translate({ y: 100 })`"
]
]
},
{
"table_index": 170,
"rows": [
{
"Android XML": "`android:id`",
"HarmonyOS 属性": "`.id()`",
"类型转换": "reference → string",
"代码示例": "Android: `android:id=\"@+id/flow\"`<br/>HarmonyOS: `.id('flow')`"
},
{
"Android XML": "`app:constraint_referenced_ids`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "id list → 需自定义实现",
"代码示例": "Android: `app:constraint_referenced_ids=\"@id/view1,@id/view2\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:flow_wrapMode`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 需自定义实现",
"代码示例": "Android: `app:flow_wrapMode=\"none\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:flow_horizontalStyle`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 需自定义实现",
"代码示例": "Android: `app:flow_horizontalStyle=\"spread\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:flow_verticalStyle`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 需自定义实现",
"代码示例": "Android: `app:flow_verticalStyle=\"spread\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app`flow_horizontalGap`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "dimension → 需自定义实现",
"代码示例": "Android: `app:flow_horizontalGap=\"8dp\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:flow_verticalGap`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "dimension → 需自定义实现",
"代码示例": "Android: `app:flow_verticalGap=\"8dp\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:flow_maxElementsWrap`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "int → 需自定义实现",
"代码示例": "Android: `app:flow_maxElementsWrap=\"3\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:flow_firstHorizontalStyle`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 需自定义实现",
"代码示例": "Android: `app:flow_firstHorizontalStyle=\"spread\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:flow_firstVerticalStyle`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 需自定义实现",
"代码示例": "Android: `app:flow_firstVerticalStyle=\"spread\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:flow_lastHorizontalStyle`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 需自定义实现",
"代码示例": "Android: `app:flow_lastHorizontalStyle=\"spread\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:flow_lastVerticalStyle`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 需自定义实现",
"代码示例": "Android: `app:flow_lastVerticalStyle=\"spread\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:id`",
"`.id()`",
"reference → string",
"Android: `android:id=\"@+id/flow\"`<br/>HarmonyOS: `.id('flow')`"
],
[
"`app:constraint_referenced_ids`",
"无直接对应",
"id list → 需自定义实现",
"Android: `app:constraint_referenced_ids=\"@id/view1,@id/view2\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:flow_wrapMode`",
"无直接对应",
"enum → 需自定义实现",
"Android: `app:flow_wrapMode=\"none\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:flow_horizontalStyle`",
"无直接对应",
"enum → 需自定义实现",
"Android: `app:flow_horizontalStyle=\"spread\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:flow_verticalStyle`",
"无直接对应",
"enum → 需自定义实现",
"Android: `app:flow_verticalStyle=\"spread\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app`flow_horizontalGap`",
"无直接对应",
"dimension → 需自定义实现",
"Android: `app:flow_horizontalGap=\"8dp\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:flow_verticalGap`",
"无直接对应",
"dimension → 需自定义实现",
"Android: `app:flow_verticalGap=\"8dp\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:flow_maxElementsWrap`",
"无直接对应",
"int → 需自定义实现",
"Android: `app:flow_maxElementsWrap=\"3\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:flow_firstHorizontalStyle`",
"无直接对应",
"enum → 需自定义实现",
"Android: `app:flow_firstHorizontalStyle=\"spread\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:flow_firstVerticalStyle`",
"无直接对应",
"enum → 需自定义实现",
"Android: `app:flow_firstVerticalStyle=\"spread\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:flow_lastHorizontalStyle`",
"无直接对应",
"enum → 需自定义实现",
"Android: `app:flow_lastHorizontalStyle=\"spread\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:flow_lastVerticalStyle`",
"无直接对应",
"enum → 需自定义实现",
"Android: `app:flow_lastVerticalStyle=\"spread\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 171,
"rows": [
{
"Android XML": "`android:id`",
"HarmonyOS 属性": "`.id()`",
"类型转换": "reference → string",
"代码示例": "Android: `android:id=\"@+id/grid\"`<br/>HarmonyOS: `.id('grid')`"
},
{
"Android XML": "`app:constraint_referenced_ids`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "id list → 需自定义实现",
"代码示例": "Android: `app:constraint_referenced_ids=\"@id/view1,@id/view2\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:grid_columns`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "int → 需自定义实现",
"代码示例": "Android: `app:grid_columns=\"3\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:grid_rows`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "int → 需自定义实现",
"代码示例": "Android: `app:grid_rows=\"2\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:grid_columnWeights`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "string → 需自定义实现",
"代码示例": "Android: `app:grid_columnWeights=\"1,2,1\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:grid_rowWeights`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "string → 需自定义实现",
"代码示例": "Android: `app:grid_rowWeights=\"1,2\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:grid_horizontalGap`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "dimension → 需自定义实现",
"代码示例": "Android: `app:grid_horizontalGap=\"8dp\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:grid_verticalGap`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "dimension → 需自定义实现",
"代码示例": "Android: `app:grid_verticalGap=\"8dp\"`<br/>HarmonyOS: 需自定义实现)"
},
{
"Android XML": "`app:grid_useAsMeasurer`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 需自定义实现",
"代码示例": "Android: `app:grid_useAsMeasurer=\"true\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:id`",
"`.id()`",
"reference → string",
"Android: `android:id=\"@+id/grid\"`<br/>HarmonyOS: `.id('grid')`"
],
[
"`app:constraint_referenced_ids`",
"无直接对应",
"id list → 需自定义实现",
"Android: `app:constraint_referenced_ids=\"@id/view1,@id/view2\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:grid_columns`",
"无直接对应",
"int → 需自定义实现",
"Android: `app:grid_columns=\"3\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:grid_rows`",
"无直接对应",
"int → 需自定义实现",
"Android: `app:grid_rows=\"2\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:grid_columnWeights`",
"无直接对应",
"string → 需自定义实现",
"Android: `app:grid_columnWeights=\"1,2,1\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:grid_rowWeights`",
"无直接对应",
"string → 需自定义实现",
"Android: `app:grid_rowWeights=\"1,2\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:grid_horizontalGap`",
"无直接对应",
"dimension → 需自定义实现",
"Android: `app:grid_horizontalGap=\"8dp\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:grid_verticalGap`",
"无直接对应",
"dimension → 需自定义实现",
"Android: `app:grid_verticalGap=\"8dp\"`<br/>HarmonyOS: 需自定义实现)"
],
[
"`app:grid_useAsMeasurer`",
"无直接对应",
"boolean → 需自定义实现",
"Android: `app:grid_useAsMeasurer=\"true\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 172,
"rows": [
{
"Android XML": "`android:id`",
"HarmonyOS 属性": "`.id()`",
"类型转换": "reference → string",
"代码示例": "Android: `android:id=\"@+id/carousel\"`<br/>HarmonyOS: `.id('carousel')`"
},
{
"Android XML": "`app:constraint_referenced_ids`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "id list → 需自定义实现",
"代码示例": "Android: `app:constraint_referenced_ids=\"@id/view1,@id/view2\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:carousel_forwardDirection`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 需自定义实现",
"代码示例": "Android: `app:carousel_forwardDirection=\"horizontal\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:carousel_infinite`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 需自定义实现",
"代码示例": "Android: `app:carousel_infinite=\"true\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:carousel_previousState`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum → 需自定义实现",
"代码示例": "Android: `app:carousel_previousState=\"first\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:carousel_nextState`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "enum) → 需自定义实现",
"代码示例": "Android: `app:carousel_nextState=\"last\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:id`",
"`.id()`",
"reference → string",
"Android: `android:id=\"@+id/carousel\"`<br/>HarmonyOS: `.id('carousel')`"
],
[
"`app:constraint_referenced_ids`",
"无直接对应",
"id list → 需自定义实现",
"Android: `app:constraint_referenced_ids=\"@id/view1,@id/view2\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:carousel_forwardDirection`",
"无直接对应",
"enum → 需自定义实现",
"Android: `app:carousel_forwardDirection=\"horizontal\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:carousel_infinite`",
"无直接对应",
"boolean → 需自定义实现",
"Android: `app:carousel_infinite=\"true\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:carousel_previousState`",
"无直接对应",
"enum → 需自定义实现",
"Android: `app:carousel_previousState=\"first\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:carousel_nextState`",
"无直接对应",
"enum) → 需自定义实现",
"Android: `app:carousel_nextState=\"last\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 173,
"rows": [
{
"Android XML": "`android:layoutDescription`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "reference → 需自定义实现",
"代码示例": "Android: `android:layoutDescription=\"@xml/motion_scene\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:showPaths`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 需自定义实现",
"代码示例": "Android: `app:showPaths=\"true\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:progress`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "float → 需自定义实现",
"代码示例": "Android: `app:progress=\"0.5\"`<br/>HarmonyOS: 需自定义实现"
},
{
"Android XML": "`app:applyMotionScene`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "boolean → 需自定义实现",
"代码示例": "Android: `app:applyMotionScene=\"true\"`<br/>HarmonyOS: 需自定义实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`android:layoutDescription`",
"无直接对应",
"reference → 需自定义实现",
"Android: `android:layoutDescription=\"@xml/motion_scene\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:showPaths`",
"无直接对应",
"boolean → 需自定义实现",
"Android: `app:showPaths=\"true\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:progress`",
"无直接对应",
"float → 需自定义实现",
"Android: `app:progress=\"0.5\"`<br/>HarmonyOS: 需自定义实现"
],
[
"`app:applyMotionScene`",
"无直接对应",
"boolean → 需自定义实现",
"Android: `app:applyMotionScene=\"true\"`<br/>HarmonyOS: 需自定义实现"
]
]
},
{
"table_index": 174,
"rows": [
{
"映射类型": "直接映射",
"数量": "5",
"占比": "~5%"
},
{
"映射类型": "需类型转换",
"数量": "15",
"占比": "~15%"
},
{
"映射类型": "需组合实现",
"数量": "80",
"占比": "~80%"
},
{
"映射类型": "无直接对应",
"数量": "0",
"占比": "~0%"
},
{
"映射类型": "**总计**",
"数量": "**100**",
"占比": "**100%**"
}
],
"raw_table": [
[
"映射类型",
"数量",
"占比"
],
[
"直接映射",
"5",
"~5%"
],
[
"需类型转换",
"15",
"~15%"
],
[
"需组合实现",
"80",
"~80%"
],
[
"无直接对应",
"0",
"~0%"
],
[
"**总计**",
"**100**",
"**100%**"
]
]
},
{
"table_index": 175,
"rows": [
{
"Android 组件": "FlexboxLayout",
"类名": "`com.google.android.flexbox.FlexboxLayout`",
"HarmonyOS 组件": "`Flex`",
"替代方案": "直接映射",
"说明": "弹性盒子布局"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"FlexboxLayout",
"`com.google.android.flexbox.FlexboxLayout`",
"`Flex`",
"直接映射",
"弹性盒子布局"
]
]
},
{
"table_index": 176,
"rows": [
{
"Android XML": "`app:flexDirection`",
"HarmonyOS 属性": "`.direction()`",
"类型转换": "enum → FlexDirection",
"代码示例": "Android: `app:flexDirection=\"row\"`<br/>HarmonyOS: `Flex({ direction: FlexDirection.Row })`"
},
{
"Android XML": "`app:flexDirection=\"column\"`",
"HarmonyOS 属性": "`.direction()`",
"类型转换": "enum → FlexDirection",
"代码示例": "Android: `app:flexDirection=\"column\"`<br/>HarmonyOS: `Flex({ direction: FlexDirection.Column })`"
},
{
"Android XML": "`app:flexDirection=\"row_reverse\"`",
"HarmonyOS 属性": "`.direction()`",
"类型转换": "enum → FlexDirection",
"代码示例": "Android: `app:flexDirection=\"row_reverse\"`<br/>HarmonyOS: `Flex({ direction: FlexDirection.RowReverse })`"
},
{
"Android XML": "`app:flexDirection=\"column_reverse\"`",
"HarmonyOS 属性": "`.direction()`",
"类型转换": "enum → {direction: FlexDirection.ColumnReverse}`",
"代码示例": "Android: `app:flexDirection=\"column_reverse\"`<br/>HarmonyOS: `Flex({ direction: FlexDirection.ColumnReverse })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`app:flexDirection`",
"`.direction()`",
"enum → FlexDirection",
"Android: `app:flexDirection=\"row\"`<br/>HarmonyOS: `Flex({ direction: FlexDirection.Row })`"
],
[
"`app:flexDirection=\"column\"`",
"`.direction()`",
"enum → FlexDirection",
"Android: `app:flexDirection=\"column\"`<br/>HarmonyOS: `Flex({ direction: FlexDirection.Column })`"
],
[
"`app:flexDirection=\"row_reverse\"`",
"`.direction()`",
"enum → FlexDirection",
"Android: `app:flexDirection=\"row_reverse\"`<br/>HarmonyOS: `Flex({ direction: FlexDirection.RowReverse })`"
],
[
"`app:flexDirection=\"column_reverse\"`",
"`.direction()`",
"enum → {direction: FlexDirection.ColumnReverse}`",
"Android: `app:flexDirection=\"column_reverse\"`<br/>HarmonyOS: `Flex({ direction: FlexDirection.ColumnReverse })`"
]
]
},
{
"table_index": 177,
"rows": [
{
"Android XML": "`app:justifyContent`",
"HarmonyOS 属性": "`.justifyContent()`",
"类型转换": "flags → FlexAlign",
"代码示例": "Android: `app:justifyContent=\"flex_start\"`<br/>HarmonyOS: `Flex({ justifyContent: FlexAlign.Start })`"
},
{
"Android XML": "`app:justifyContent=\"flex_end\"`",
"HarmonyOS 属性": "`.justifyContent()`",
"类型转换": "flags → FlexAlign",
"代码示例": "Android: `app:justifyContent=\"flex_end\"`<br/>HarmonyOS: `Flex({ justifyContent: FlexAlign.End })`"
},
{
"Android XML": "`app:justifyContent=\"center\"`",
"HarmonyOS 属性": "`.justifyContent()`",
"类型转换": "flags → FlexAlign",
"代码示例": "Android: `app:justifyContent=\"center\"`<br/>HarmonyOS: `Flex({ justifyContent: FlexAlign.Center })`"
},
{
"Android XML": "`app:justifyContent=\"space_between\"`",
"HarmonyOS 属性": "`.justifyContent()`",
"类型转换": "flags → FlexAlign",
"代码示例": "Android: `app:justifyContent=\"space_between\"`<br/>HarmonyOS: `Flex({ justifyContent: FlexAlign.SpaceBetween })`"
},
{
"Android XML": "`app:justifyContent=\"space_around\"`",
"HarmonyOS 属性": "`.justifyContent()`",
"类型转换": "flags → FlexAlign",
"代码示例": "Android: `app:justifyContent=\"space_around\"`<br/>HarmonyOS: `Flex({ justifyContent: FlexAlign.SpaceAround })`"
},
{
"Android XML": "`app:justifyContent=\"space_evenly\"`",
"HarmonyOS 属性": "`.justifyContent()`",
"类型转换": "flags → FlexAlign",
"代码示例": "Android: `app:justifyContent=\"space_evenly\"`<br/>HarmonyOS: `Flex({ justifyContent: FlexAlign.SpaceEvenly })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`app:justifyContent`",
"`.justifyContent()`",
"flags → FlexAlign",
"Android: `app:justifyContent=\"flex_start\"`<br/>HarmonyOS: `Flex({ justifyContent: FlexAlign.Start })`"
],
[
"`app:justifyContent=\"flex_end\"`",
"`.justifyContent()`",
"flags → FlexAlign",
"Android: `app:justifyContent=\"flex_end\"`<br/>HarmonyOS: `Flex({ justifyContent: FlexAlign.End })`"
],
[
"`app:justifyContent=\"center\"`",
"`.justifyContent()`",
"flags → FlexAlign",
"Android: `app:justifyContent=\"center\"`<br/>HarmonyOS: `Flex({ justifyContent: FlexAlign.Center })`"
],
[
"`app:justifyContent=\"space_between\"`",
"`.justifyContent()`",
"flags → FlexAlign",
"Android: `app:justifyContent=\"space_between\"`<br/>HarmonyOS: `Flex({ justifyContent: FlexAlign.SpaceBetween })`"
],
[
"`app:justifyContent=\"space_around\"`",
"`.justifyContent()`",
"flags → FlexAlign",
"Android: `app:justifyContent=\"space_around\"`<br/>HarmonyOS: `Flex({ justifyContent: FlexAlign.SpaceAround })`"
],
[
"`app:justifyContent=\"space_evenly\"`",
"`.justifyContent()`",
"flags → FlexAlign",
"Android: `app:justifyContent=\"space_evenly\"`<br/>HarmonyOS: `Flex({ justifyContent: FlexAlign.SpaceEvenly })`"
]
]
},
{
"table_index": 178,
"rows": [
{
"Android XML": "`app:alignItems`",
"HarmonyOS 属性": "`.alignItems()`",
"类型转换": "enum → ItemAlign",
"代码示例": "Android: `app:alignItems=\"flex_start\"`<br/>HarmonyOS: `Flex({ alignItems: ItemAlign.Start })`"
},
{
"Android XML": "`app:alignItems=\"flex_end\"`",
"HarmonyOS 属性": "`.alignItems()`",
"类型转换": "enum → ItemAlign",
"代码示例": "Android: `app:alignItems=\"flex_end\"`<br/>HarmonyOS: `Flex({ alignItems: ItemAlign.End })`"
},
{
"Android XML": "`app:alignItems=\"center\"`",
"HarmonyOS 属性": "`.alignItems()`",
"类型转换": "flags → ItemAlign",
"代码示例": "Android: `app:alignItems=\"center\"`<br/>HarmonyOS: `Flex({ alignItems: ItemAlign.Center })`"
},
{
"Android XML": "`app:alignItems=\"baseline\"`",
"HarmonyOS 属性": "`.alignItems()`",
"类型转换": "enum → ItemAlign",
"代码示例": "Android: `app:alignItems=\"baseline\"`<br/>HarmonyOS: `Flex({ alignItems: ItemAlign.Baseline })`"
},
{
"Android XML": "`app:alignItems=\"stretch\"`",
"HarmonyOS 属性": "`.alignItems()`",
"类型转换": "flags → ItemAlign",
"代码示例": "Android: `app:alignItems=\"stretch\"`<br/>HarmonyOS: `Flex({ alignItems: ItemAlign.Stretch })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`app:alignItems`",
"`.alignItems()`",
"enum → ItemAlign",
"Android: `app:alignItems=\"flex_start\"`<br/>HarmonyOS: `Flex({ alignItems: ItemAlign.Start })`"
],
[
"`app:alignItems=\"flex_end\"`",
"`.alignItems()`",
"enum → ItemAlign",
"Android: `app:alignItems=\"flex_end\"`<br/>HarmonyOS: `Flex({ alignItems: ItemAlign.End })`"
],
[
"`app:alignItems=\"center\"`",
"`.alignItems()`",
"flags → ItemAlign",
"Android: `app:alignItems=\"center\"`<br/>HarmonyOS: `Flex({ alignItems: ItemAlign.Center })`"
],
[
"`app:alignItems=\"baseline\"`",
"`.alignItems()`",
"enum → ItemAlign",
"Android: `app:alignItems=\"baseline\"`<br/>HarmonyOS: `Flex({ alignItems: ItemAlign.Baseline })`"
],
[
"`app:alignItems=\"stretch\"`",
"`.alignItems()`",
"flags → ItemAlign",
"Android: `app:alignItems=\"stretch\"`<br/>HarmonyOS: `Flex({ alignItems: ItemAlign.Stretch })`"
]
]
},
{
"table_index": 179,
"rows": [
{
"Android XML": "`app:alignContent`",
"HarmonyOS 属性": "`.alignContent()`",
"类型转换": "flags → FlexAlign",
"代码示例": "Android: `app:alignContent=\"flex_start\"`<br/>HarmonyOS: `Flex({ alignContent: FlexAlign.Start })`"
},
{
"Android XML": "`app:alignContent=\"flex_end\"`",
"HarmonyOS 属性": "`.alignContent()`",
"类型转换": "flags → FlexAlign",
"代码示例": "Android: `app:alignContent=\"flex_end\"`<br/>HarmonyOS: `Flex({ alignContent: FlexAlign.End })`"
},
{
"Android XML": "`app:alignContent=\"center\"`",
"HarmonyOS 属性": "`.alignContent()`",
"类型转换": "flags → FlexAlign",
"代码示例": "Android: `app:alignContent=\"center\"`<br/>HarmonyOS: `Flex({ alignContent: FlexAlign.Center })`"
},
{
"Android XML": "`app:alignContent=\"space_between\"`",
"HarmonyOS 属性": "`.alignContent()`",
"类型转换": "flags → FlexAlign",
"代码示例": "Android: `app:alignContent=\"space_between\"`<br/>HarmonyOS: `Flex({ alignContent: FlexAlign.SpaceBetween })`"
},
{
"Android XML": "`app:alignContent=\"space_around\"`",
"HarmonyOS 属性": "`.alignContent()`",
"类型转换": "flags → FlexAlign",
"代码示例": "Android: `app:alignContent=\"space_around\"`<br/>HarmonyOS: `Flex({ alignContent: FlexAlign.SpaceAround })`"
},
{
"Android XML": "`app:alignContent=\"space_evenly\"`",
"HarmonyOS 属性": "`.alignContent()`",
"类型转换": "flags → FlexAlign",
"代码示例": "Android: `app:alignContent=\"space_evenly\"`<br/>HarmonyOS: `Flex({ alignContent: FlexAlign.SpaceEvenly })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`app:alignContent`",
"`.alignContent()`",
"flags → FlexAlign",
"Android: `app:alignContent=\"flex_start\"`<br/>HarmonyOS: `Flex({ alignContent: FlexAlign.Start })`"
],
[
"`app:alignContent=\"flex_end\"`",
"`.alignContent()`",
"flags → FlexAlign",
"Android: `app:alignContent=\"flex_end\"`<br/>HarmonyOS: `Flex({ alignContent: FlexAlign.End })`"
],
[
"`app:alignContent=\"center\"`",
"`.alignContent()`",
"flags → FlexAlign",
"Android: `app:alignContent=\"center\"`<br/>HarmonyOS: `Flex({ alignContent: FlexAlign.Center })`"
],
[
"`app:alignContent=\"space_between\"`",
"`.alignContent()`",
"flags → FlexAlign",
"Android: `app:alignContent=\"space_between\"`<br/>HarmonyOS: `Flex({ alignContent: FlexAlign.SpaceBetween })`"
],
[
"`app:alignContent=\"space_around\"`",
"`.alignContent()`",
"flags → FlexAlign",
"Android: `app:alignContent=\"space_around\"`<br/>HarmonyOS: `Flex({ alignContent: FlexAlign.SpaceAround })`"
],
[
"`app:alignContent=\"space_evenly\"`",
"`.alignContent()`",
"flags → FlexAlign",
"Android: `app:alignContent=\"space_evenly\"`<br/>HarmonyOS: `Flex({ alignContent: FlexAlign.SpaceEvenly })`"
]
]
},
{
"table_index": 180,
"rows": [
{
"Android XML": "`app:flexWrap`",
"HarmonyOS 属性": "`.wrap()`",
"类型转换": "enum → FlexWrap",
"代码示例": "Android: `app:flexWrap=\"nowrap\"`<br/>HarmonyOS: `Flex({ wrap: FlexWrap.NoWrap })`"
},
{
"Android XML": "`app:flexWrap=\"wrap\"`",
"HarmonyOS 属性": "`.wrap()`",
"类型转换": "enum → FlexWrap",
"代码示例": "Android: `app:flexWrap=\"wrap\"`<br/>HarmonyOS: `Flex({ wrap: FlexWrap.Wrap })`"
},
{
"Android XML": "`app:flexWrap=\"wrap_reverse\"`",
"HarmonyOS 属性": "`.wrap()`",
"类型转换": "enum → FlexWrap",
"代码示例": "Android: `app:flexWrap=\"wrap_reverse\"`<br/>HarmonyOS: `Flex({ wrap: FlexWrap.WrapReverse })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`app:flexWrap`",
"`.wrap()`",
"enum → FlexWrap",
"Android: `app:flexWrap=\"nowrap\"`<br/>HarmonyOS: `Flex({ wrap: FlexWrap.NoWrap })`"
],
[
"`app:flexWrap=\"wrap\"`",
"`.wrap()`",
"enum → FlexWrap",
"Android: `app:flexWrap=\"wrap\"`<br/>HarmonyOS: `Flex({ wrap: FlexWrap.Wrap })`"
],
[
"`app:flexWrap=\"wrap_reverse\"`",
"`.wrap()`",
"enum → FlexWrap",
"Android: `app:flexWrap=\"wrap_reverse\"`<br/>HarmonyOS: `Flex({ wrap: FlexWrap.WrapReverse })`"
]
]
},
{
"table_index": 181,
"rows": [
{
"Android XML": "`app:layout_flexGrow`",
"HarmonyOS 属性": "`.flexGrow()`",
"类型转换": "float → number",
"代码示例": "Android: `app:layout_flexGrow=\"1\"`<br/>HarmonyOS: `.flexGrow(1)`"
},
{
"Android XML": "`app:layout_flexShrink`",
"HarmonyOS 属性": "`.flexShrink()`",
"类型转换": "float → number",
"代码示例": "Android: `app:layout_flexShrink=\"1\"`<br/>HarmonyOS: `.flexShrink(1)`"
},
{
"Android XML": "`app:layout_flexBasisPercent`",
"HarmonyOS 属性": "`.flexBasis()`",
"类型转换": "float → 百分比",
"代码示例": "Android: `app:layout_flexBasisPercent=\"50%\"`<br/>HarmonyOS: `.flexBasis('50%')`"
},
{
"Android XML": "`app:layout_flexBasis`",
"HarmonyOS 属性": "dimension",
"类型转换": "固定大小",
"代码示例": "Android: `app:layout_flexBasis=\"100dp\"`<br/>HarmonyOS: `.flexBasis(100)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`app:layout_flexGrow`",
"`.flexGrow()`",
"float → number",
"Android: `app:layout_flexGrow=\"1\"`<br/>HarmonyOS: `.flexGrow(1)`"
],
[
"`app:layout_flexShrink`",
"`.flexShrink()`",
"float → number",
"Android: `app:layout_flexShrink=\"1\"`<br/>HarmonyOS: `.flexShrink(1)`"
],
[
"`app:layout_flexBasisPercent`",
"`.flexBasis()`",
"float → 百分比",
"Android: `app:layout_flexBasisPercent=\"50%\"`<br/>HarmonyOS: `.flexBasis('50%')`"
],
[
"`app:layout_flexBasis`",
"dimension",
"固定大小",
"Android: `app:layout_flexBasis=\"100dp\"`<br/>HarmonyOS: `.flexBasis(100)`"
]
]
},
{
"table_index": 182,
"rows": [
{
"Android XML": "`app:layout_alignSelf`",
"HarmonyOS 属性": "`.alignSelf()`",
"类型转换": "enum → ItemAlign",
"代码示例": "Android: `app:layout_alignSelf=\"auto\"`<br/>HarmonyOS: `.alignSelf(ItemAlign.Auto)`"
},
{
"Android XML": "`app:layout_alignSelf=\"flex_start\"`",
"HarmonyOS 属性": "`.alignSelf()`",
"类型转换": "enum → ItemAlign",
"代码示例": "Android: `app:layout_alignSelf=\"flex_start\"`<br/>HarmonyOS: `.alignSelf(ItemAlign.Start)`"
},
{
"Android XML": "`app:layout_alignSelf=\"flex_end\"`",
"HarmonyOS 属性": "`.alignSelf()`",
"类型转换": "enum → ItemAlign",
"代码示例": "Android: `app:layout_alignSelf=\"flex_end\"`<br/>HarmonyOS: `.alignSelf(ItemAlign.End)`"
},
{
"Android XML": "`app:layout_alignSelf=\"center\"`",
"HarmonyOS 属性": "`.alignSelf()`",
"类型转换": "enum → ItemAlign",
"代码示例": "Android: `app:layout_alignSelf=\"center\"`<br/>HarmonyOS: `.alignSelf(ItemAlign.Center)`"
},
{
"Android XML": "`app:layout_alignSelf=\"baseline\"`",
"HarmonyOS 属性": "`.alignSelf()`",
"类型转换": "enum → ItemAlign",
"代码示例": "Android: `app:layout_alignSelf=\"baseline\"`<br/>HarmonyOS: `.alignSelf(ItemAlign.Baseline)`"
},
{
"Android XML": "`app:layout_alignSelf=\"stretch\"`",
"HarmonyOS 属性": "`.alignSelf()`",
"类型转换": "enum → ItemAlign",
"代码示例": "Android: `app:layout_alignSelf=\"stretch\"`<br/>HarmonyOS: `.alignSelf(ItemAlign.Stretch)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`app:layout_alignSelf`",
"`.alignSelf()`",
"enum → ItemAlign",
"Android: `app:layout_alignSelf=\"auto\"`<br/>HarmonyOS: `.alignSelf(ItemAlign.Auto)`"
],
[
"`app:layout_alignSelf=\"flex_start\"`",
"`.alignSelf()`",
"enum → ItemAlign",
"Android: `app:layout_alignSelf=\"flex_start\"`<br/>HarmonyOS: `.alignSelf(ItemAlign.Start)`"
],
[
"`app:layout_alignSelf=\"flex_end\"`",
"`.alignSelf()`",
"enum → ItemAlign",
"Android: `app:layout_alignSelf=\"flex_end\"`<br/>HarmonyOS: `.alignSelf(ItemAlign.End)`"
],
[
"`app:layout_alignSelf=\"center\"`",
"`.alignSelf()`",
"enum → ItemAlign",
"Android: `app:layout_alignSelf=\"center\"`<br/>HarmonyOS: `.alignSelf(ItemAlign.Center)`"
],
[
"`app:layout_alignSelf=\"baseline\"`",
"`.alignSelf()`",
"enum → ItemAlign",
"Android: `app:layout_alignSelf=\"baseline\"`<br/>HarmonyOS: `.alignSelf(ItemAlign.Baseline)`"
],
[
"`app:layout_alignSelf=\"stretch\"`",
"`.alignSelf()`",
"enum → ItemAlign",
"Android: `app:layout_alignSelf=\"stretch\"`<br/>HarmonyOS: `.alignSelf(ItemAlign.Stretch)`"
]
]
},
{
"table_index": 183,
"rows": [
{
"Android 方法": "`setFlexDirection(int)`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "int → 组件选择",
"代码示例": "Android: `flexboxLayout.setFlexDirection(LinearLayout.VERTICAL)`<br/>HarmonyOS: 使用 `Column` 或 `Row` 组件"
},
{
"Android 方法": "`getFlexDirection()`",
"HarmonyOS 属性": "无直接对应",
"类型转换": "void → 组件判断",
"代码示例": "Android: `int orientation = flexboxLayout.getFlexDirection()`<br/>HarmonyOS: 根据组件类型判断"
},
{
"Android 方法": "`setGravity(int)`",
"HarmonyOS 属性": "`.justifyContent()` / `.alignItems()`",
"类型转换": "int → FlexAlign",
"代码示例": "Android: `flexboxLayout.setGravity(Gravity.CENTER)`<br/>HarmonyOS: `Flex().justifyContent(FlexAlign.Center).alignItems(HorizontalAlign.Center)`"
}
],
"raw_table": [
[
"Android 方法",
"HarmonyOS 属性",
"类型转换",
"代码示例"
],
[
"`setFlexDirection(int)`",
"无直接对应",
"int → 组件选择",
"Android: `flexboxLayout.setFlexDirection(LinearLayout.VERTICAL)`<br/>HarmonyOS: 使用 `Column` 或 `Row` 组件"
],
[
"`getFlexDirection()`",
"无直接对应",
"void → 组件判断",
"Android: `int orientation = flexboxLayout.getFlexDirection()`<br/>HarmonyOS: 根据组件类型判断"
],
[
"`setGravity(int)`",
"`.justifyContent()` / `.alignItems()`",
"int → FlexAlign",
"Android: `flexboxLayout.setGravity(Gravity.CENTER)`<br/>HarmonyOS: `Flex().justifyContent(FlexAlign.Center).alignItems(HorizontalAlign.Center)`"
]
]
},
{
"table_index": 184,
"rows": [
{
"映射类型": "直接映射",
"数量": "6",
"占比": "~15%"
},
{
"映射类型": "需类型转换",
"数量": "4",
"占比": "~25%"
},
{
"映射类型": "需组合实现",
"数量": "8",
"占比": "~50%"
},
{
"映射类型": "无直接对应",
"数量": "5",
"占比": "~14%"
},
{
"映射类型": "**总计**",
"数量": "**23**",
"占比": "**100%**"
}
],
"raw_table": [
[
"映射类型",
"数量",
"占比"
],
[
"直接映射",
"6",
"~15%"
],
[
"需类型转换",
"4",
"~25%"
],
[
"需组合实现",
"8",
"~50%"
],
[
"无直接对应",
"5",
"~14%"
],
[
"**总计**",
"**23**",
"**100%**"
]
]
},
{
"table_index": 185,
"rows": [
{
"Android 组件": "CoordinatorLayout",
"类名": "`androidx.coordinatorlayout.widget.CoordinatorLayout`",
"HarmonyOS 组件": "自定义组合",
"替代方案": "需业务实现",
"说明": "协调布局"
},
{
"Android 组件": "AppBarLayout",
"类名": "`com.google.android.material.appbar.AppBarLayout`",
"HarmonyOS 组件": "自定义组合",
"替代方案": "Column + 手势",
"说明": "应用栏布局"
},
{
"Android 组件": "CollapsingToolbarLayout",
"类名": "`com.google.android.material.appbar.CollapsingToolbarLayout`",
"HarmonyOS 组件": "自定义组合",
"替代方案": "Column + 动画",
"说明": "折叠工具栏布局"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"CoordinatorLayout",
"`androidx.coordinatorlayout.widget.CoordinatorLayout`",
"自定义组合",
"需业务实现",
"协调布局"
],
[
"AppBarLayout",
"`com.google.android.material.appbar.AppBarLayout`",
"自定义组合",
"Column + 手势",
"应用栏布局"
],
[
"CollapsingToolbarLayout",
"`com.google.android.material.appbar.CollapsingToolbarLayout`",
"自定义组合",
"Column + 动画",
"折叠工具栏布局"
]
]
},
{
"table_index": 186,
"rows": [
{
"Android 组件": "DrawerLayout",
"类名": "`androidx.drawerlayout.widget.DrawerLayout`",
"HarmonyOS 组件": "`Sheet` / 自定义",
"替代方案": "侧滑抽屉",
"说明": "抽屉布局"
},
{
"Android 组件": "SlidingPaneLayout",
"类名": "`androidx.slidingpanelayout.widget.SlidingPaneLayout`",
"HarmonyOS 组件": "自定义组合",
"替代方案": "Panel + 动画",
"说明": "滑动面板布局"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"DrawerLayout",
"`androidx.drawerlayout.widget.DrawerLayout`",
"`Sheet` / 自定义",
"侧滑抽屉",
"抽屉布局"
],
[
"SlidingPaneLayout",
"`androidx.slidingpanelayout.widget.SlidingPaneLayout`",
"自定义组合",
"Panel + 动画",
"滑动面板布局"
]
]
},
{
"table_index": 187,
"rows": [
{
"Android 组件": "SwipeRefreshLayout",
"类名": "`androidx.swiperefreshlayout.widget.SwipeRefreshLayout`",
"HarmonyOS 组件": "`Refresh`",
"替代方案": "直接映射",
"说明": "下拉刷新布局"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"SwipeRefreshLayout",
"`androidx.swiperefreshlayout.widget.SwipeRefreshLayout`",
"`Refresh`",
"直接映射",
"下拉刷新布局"
]
]
},
{
"table_index": 188,
"rows": [
{
"Android 组件": "ListView",
"类名": "`android.widget.ListView`",
"HarmonyOS 组件": "`List`",
"替代方案": "高性能列表",
"说明": "列表视图(已废弃)"
},
{
"Android 组件": "ExpandableListView",
"类名": "`android.widget.ExpandableListView`",
"HarmonyOS 组件": "`List` + `ListItemGroup`",
"替代方案": "配合展开逻辑",
"说明": "可展开列表视图"
},
{
"Android 组件": "ListPopupWindow",
"类名": "`android.widget.ListPopupWindow`",
"HarmonyOS 组件": "`Popup` + `List`",
"替代方案": "组合实现",
"说明": "列表弹出窗口"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"ListView",
"`android.widget.ListView`",
"`List`",
"高性能列表",
"列表视图(已废弃)"
],
[
"ExpandableListView",
"`android.widget.ExpandableListView`",
"`List` + `ListItemGroup`",
"配合展开逻辑",
"可展开列表视图"
],
[
"ListPopupWindow",
"`android.widget.ListPopupWindow`",
"`Popup` + `List`",
"组合实现",
"列表弹出窗口"
]
]
},
{
"table_index": 189,
"rows": [
{
"Android 组件": "RecyclerView",
"类名": "`androidx.recyclerview.widget.RecyclerView`",
"HarmonyOS 组件": "`List`",
"替代方案": "配合 LazyForEach",
"说明": "高性能列表视图"
},
{
"Android 组件": "RecyclerView.Adapter",
"类名": "`androidx.recyclerview.widget.RecyclerView.Adapter`",
"HarmonyOS 组件": "`LazyForEach`",
"替代方案": "数据源管理",
"说明": "列表适配器"
},
{
"Android 组件": "RecyclerView.ViewHolder",
"类名": "`androidx.recyclerview.widget.RecyclerView.ViewHolder`",
"HarmonyOS 组件": "`ListItem`",
"替代方案": "列表项组件",
"说明": "列表项持有者"
},
{
"Android 组件": "LinearLayoutManager",
"类名": "`androidx.recyclerview.widget.LinearLayoutManager`",
"HarmonyOS 组件": "`List`",
"替代方案": "listDirection 配置",
"说明": "线性布局管理器"
},
{
"Android 组件": "GridLayoutManager",
"类名": "`androidx.recyclerview.widget.GridLayoutManager`",
"HarmonyOS 组件": "`Grid`",
"替代方案": "网格布局",
"说明": "网格布局管理器"
},
{
"Android 组件": "StaggeredGridLayoutManager",
"类名": "`androidx.recyclerview.widget.StaggeredGridLayoutManager`",
"HarmonyOS 组件": "`WaterFlow`",
"替代方案": "瀑布流布局",
"说明": "瀑布流布局管理器"
},
{
"Android 组件": "ItemTouchHelper",
"类名": "`androidx.recyclerview.widget.ItemTouchHelper`",
"HarmonyOS 组件": "拖拽 API",
"替代方案": "Drag + Drop",
"说明": "列表项触摸辅助"
},
{
"Android 组件": "SnapHelper",
"类名": "`androidx.recyclerview.widget.SnapHelper`",
"HarmonyOS 组件": "自定义对齐逻辑",
"替代方案": "手势实现",
"说明": "对齐辅助"
},
{
"Android 组件": "LinearSnapHelper",
"类名": "`androidx.recyclerview.widget.LinearSnapHelper`",
"HarmonyOS 组件": "自定义对齐逻辑",
"替代方案": "Swiper 配合",
"说明": "线性对齐辅助"
},
{
"Android 组件": "PagerSnapHelper",
"类名": "`androidx.recyclerview.widget.PagerSnapHelper`",
"HarmonyOS 组件": "`Swiper`",
"替代方案": "轮播容器",
"说明": "分页对齐辅助"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"RecyclerView",
"`androidx.recyclerview.widget.RecyclerView`",
"`List`",
"配合 LazyForEach",
"高性能列表视图"
],
[
"RecyclerView.Adapter",
"`androidx.recyclerview.widget.RecyclerView.Adapter`",
"`LazyForEach`",
"数据源管理",
"列表适配器"
],
[
"RecyclerView.ViewHolder",
"`androidx.recyclerview.widget.RecyclerView.ViewHolder`",
"`ListItem`",
"列表项组件",
"列表项持有者"
],
[
"LinearLayoutManager",
"`androidx.recyclerview.widget.LinearLayoutManager`",
"`List`",
"listDirection 配置",
"线性布局管理器"
],
[
"GridLayoutManager",
"`androidx.recyclerview.widget.GridLayoutManager`",
"`Grid`",
"网格布局",
"网格布局管理器"
],
[
"StaggeredGridLayoutManager",
"`androidx.recyclerview.widget.StaggeredGridLayoutManager`",
"`WaterFlow`",
"瀑布流布局",
"瀑布流布局管理器"
],
[
"ItemTouchHelper",
"`androidx.recyclerview.widget.ItemTouchHelper`",
"拖拽 API",
"Drag + Drop",
"列表项触摸辅助"
],
[
"SnapHelper",
"`androidx.recyclerview.widget.SnapHelper`",
"自定义对齐逻辑",
"手势实现",
"对齐辅助"
],
[
"LinearSnapHelper",
"`androidx.recyclerview.widget.LinearSnapHelper`",
"自定义对齐逻辑",
"Swiper 配合",
"线性对齐辅助"
],
[
"PagerSnapHelper",
"`androidx.recyclerview.widget.PagerSnapHelper`",
"`Swiper`",
"轮播容器",
"分页对齐辅助"
]
]
},
{
"table_index": 190,
"rows": [
{
"Android 组件": "AdapterView",
"类名": "`android.widget.AdapterView`",
"HarmonyOS 组件": "基础架构概念",
"替代方案": "适配器视图基类",
"说明": "适配器视图基类"
},
{
"Android 组件": "AdapterViewAnimator",
"类名": "`android.widget.AdapterViewAnimator`",
"HarmonyOS 组件": "自定义动画组件",
"替代方案": "transition",
"说明": "适配器视图动画器"
},
{
"Android 组件": "AdapterViewFlipper",
"类名": "`android.widget.AdapterViewFlipper`",
"HarmonyOS 组件": "`Swiper`",
"替代方案": "轮播切换",
"说明": "适配器视图翻转器"
},
{
"Android 组件": "StackView",
"类名": "`android.widget.StackView`",
"HarmonyOS 组件": "`Stack`",
"替代方案": "堆叠布局",
"说明": "堆栈视图"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"AdapterView",
"`android.widget.AdapterView`",
"基础架构概念",
"适配器视图基类",
"适配器视图基类"
],
[
"AdapterViewAnimator",
"`android.widget.AdapterViewAnimator`",
"自定义动画组件",
"transition",
"适配器视图动画器"
],
[
"AdapterViewFlipper",
"`android.widget.AdapterViewFlipper`",
"`Swiper`",
"轮播切换",
"适配器视图翻转器"
],
[
"StackView",
"`android.widget.StackView`",
"`Stack`",
"堆叠布局",
"堆栈视图"
]
]
},
{
"table_index": 191,
"rows": [
{
"Android 组件": "ViewPager",
"类名": "`androidx.viewpager.widget.ViewPager`",
"HarmonyOS 组件": "`Swiper`",
"替代方案": "轮播容器",
"说明": "页面切换器(已废弃)"
},
{
"Android 组件": "ViewPager2",
"类名": "`androidx.viewpager2.widget.ViewPager2`",
"HarmonyOS 组件": "`Swiper`",
"替代方案": "轮播容器",
"说明": "页面切换器"
},
{
"Android 组件": "TabHost",
"类名": "`android.widget.TabHost`",
"HarmonyOS 组件": "`Tabs` + `TabContent`",
"替代方案": "已废弃",
"说明": "标签页主机(已废弃)"
},
{
"Android 组件": "TabWidget",
"类名": "`android.widget.TabWidget`",
"HarmonyOS 组件": "`Tabs`",
"替代方案": "已废弃",
"说明": "标签页组件(已废弃)"
},
{
"Android 组件": "ViewFlipper",
"类名": "`android.widget.ViewFlipper`",
"HarmonyOS 组件": "`Swiper`",
"替代方案": "轮播切换",
"说明": "视图翻转器"
},
{
"Android 组件": "ViewSwitcher",
"类名": "`android.widget.ViewSwitcher`",
"HarmonyOS 组件": "`Swiper`",
"替代方案": "轮播切换",
"说明": "视图切换器"
},
{
"Android 组件": "ImageSwitcher",
"类名": "`android.widget.ImageSwitcher`",
"HarmonyOS 组件": "`Swiper` + `Image`",
"替代方案": "配合 Image",
"说明": "图片切换器"
},
{
"Android 组件": "TextSwitcher",
"类名": "`android.widget.TextSwitcher`",
"HarmonyOS 组件": "`Swiper` + `Text`",
"替代方案": "配合 Text",
"说明": "文本切换器"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"ViewPager",
"`androidx.viewpager.widget.ViewPager`",
"`Swiper`",
"轮播容器",
"页面切换器(已废弃)"
],
[
"ViewPager2",
"`androidx.viewpager2.widget.ViewPager2`",
"`Swiper`",
"轮播容器",
"页面切换器"
],
[
"TabHost",
"`android.widget.TabHost`",
"`Tabs` + `TabContent`",
"已废弃",
"标签页主机(已废弃)"
],
[
"TabWidget",
"`android.widget.TabWidget`",
"`Tabs`",
"已废弃",
"标签页组件(已废弃)"
],
[
"ViewFlipper",
"`android.widget.ViewFlipper`",
"`Swiper`",
"轮播切换",
"视图翻转器"
],
[
"ViewSwitcher",
"`android.widget.ViewSwitcher`",
"`Swiper`",
"轮播切换",
"视图切换器"
],
[
"ImageSwitcher",
"`android.widget.ImageSwitcher`",
"`Swiper` + `Image`",
"配合 Image",
"图片切换器"
],
[
"TextSwitcher",
"`android.widget.TextSwitcher`",
"`Swiper` + `Text`",
"配合 Text",
"文本切换器"
]
]
},
{
"table_index": 192,
"rows": [
{
"Android 组件": "MaterialButton",
"类名": "`com.google.android.material.button.MaterialButton`",
"HarmonyOS 组件": "`Button`",
"替代方案": "配置样式",
"说明": "Material 按钮"
},
{
"Android 组件": "IconButton",
"类名": "`com.google.android.material.button.MaterialButton`",
"HarmonyOS 组件": "`Button` + 图标",
"替代方案": "组合实现",
"说明": "图标按钮"
},
{
"Android 组件": "SplitButton",
"类名": "`com.google.android.material.button.MaterialButtonGroup`",
"HarmonyOS 组件": "`Row` + 2个 `Button`",
"替代方案": "组合实现",
"说明": "分割按钮"
},
{
"Android 组件": "ToggleButton",
"类名": "`com.google.android.material.button.MaterialButtonToggleGroup`",
"HarmonyOS 组件": "`RadioContainer`",
"替代方案": "配合 Radio",
"说明": "切换按钮组"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"MaterialButton",
"`com.google.android.material.button.MaterialButton`",
"`Button`",
"配置样式",
"Material 按钮"
],
[
"IconButton",
"`com.google.android.material.button.MaterialButton`",
"`Button` + 图标",
"组合实现",
"图标按钮"
],
[
"SplitButton",
"`com.google.android.material.button.MaterialButtonGroup`",
"`Row` + 2个 `Button`",
"组合实现",
"分割按钮"
],
[
"ToggleButton",
"`com.google.android.material.button.MaterialButtonToggleGroup`",
"`RadioContainer`",
"配合 Radio",
"切换按钮组"
]
]
},
{
"table_index": 193,
"rows": [
{
"Android 组件": "TextInputLayout",
"类名": "`com.google.android.material.textfield.TextInputLayout`",
"HarmonyOS 组件": "`Column` + `TextInput` + 样式",
"替代方案": "组合实现",
"说明": "文本输入布局"
},
{
"Android 组件": "TextInputEditText",
"类名": "`com.google.android.material.textfield.TextInputEditText`",
"HarmonyOS 组件": "`TextInput`",
"替代方案": "配置样式",
"说明": "文本输入框"
},
{
"Android 组件": "ExposedDropdownMenu",
"类名": "`com.google.android.material.textfield.MaterialAutoCompleteTextView`",
"HarmonyOS 组件": "`Select`",
"替代方案": "下拉选择",
"说明": "暴露下拉菜单"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"TextInputLayout",
"`com.google.android.material.textfield.TextInputLayout`",
"`Column` + `TextInput` + 样式",
"组合实现",
"文本输入布局"
],
[
"TextInputEditText",
"`com.google.android.material.textfield.TextInputEditText`",
"`TextInput`",
"配置样式",
"文本输入框"
],
[
"ExposedDropdownMenu",
"`com.google.android.material.textfield.MaterialAutoCompleteTextView`",
"`Select`",
"下拉选择",
"暴露下拉菜单"
]
]
},
{
"table_index": 194,
"rows": [
{
"Android 组件": "CardView",
"类名": "`androidx.cardview.widget.CardView`",
"HarmonyOS 组件": "`Column` + 样式",
"替代方案": "borderRadius + shadow",
"说明": "卡片视图"
},
{
"Android 组件": "MaterialCardView",
"类名": "`com.google.android.material.card.MaterialCardView`",
"HarmonyOS 组件": "`Column` + 样式",
"替代方案": "borderRadius + shadow",
"说明": "Material 卡片"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"CardView",
"`androidx.cardview.widget.CardView`",
"`Column` + 样式",
"borderRadius + shadow",
"卡片视图"
],
[
"MaterialCardView",
"`com.google.android.material.card.MaterialCardView`",
"`Column` + 样式",
"borderRadius + shadow",
"Material 卡片"
]
]
},
{
"table_index": 195,
"rows": [
{
"Android 组件": "BottomNavigationView",
"类名": "`com.google.android.material.bottomnavigation.BottomNavigationView`",
"HarmonyOS 组件": "`Tabs`",
"替代方案": "配合路由",
"说明": "底部导航"
},
{
"Android 组件": "BottomSheetDialog",
"类名": "`com.google.android.material.bottomsheet.BottomSheetDialog`",
"HarmonyOS 组件": "`Sheet`",
"替代方案": "底部抽屉",
"说明": "底部抽屉对话框"
},
{
"Android 组件": "BottomSheetDialogFragment",
"类名": "`com.google.android.material.bottomsheet.BottomSheetDialogFragment`",
"HarmonyOS 组件": "`Sheet`",
"替代方案": "配合路由",
"说明": "底部抽屉片段"
},
{
"Android 组件": "BottomSheetBehavior",
"类名": "`com.google.android.material.bottomsheet.BottomSheetBehavior`",
"HarmonyOS 组件": "`Sheet`",
"替代方案": "配置行为",
"说明": "底部抽屉行为"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"BottomNavigationView",
"`com.google.android.material.bottomnavigation.BottomNavigationView`",
"`Tabs`",
"配合路由",
"底部导航"
],
[
"BottomSheetDialog",
"`com.google.android.material.bottomsheet.BottomSheetDialog`",
"`Sheet`",
"底部抽屉",
"底部抽屉对话框"
],
[
"BottomSheetDialogFragment",
"`com.google.android.material.bottomsheet.BottomSheetDialogFragment`",
"`Sheet`",
"配合路由",
"底部抽屉片段"
],
[
"BottomSheetBehavior",
"`com.google.android.material.bottomsheet.BottomSheetBehavior`",
"`Sheet`",
"配置行为",
"底部抽屉行为"
]
]
},
{
"table_index": 196,
"rows": [
{
"Android 组件": "NavigationView",
"类名": "`com.google.android.material.navigation.NavigationView`",
"HarmonyOS 组件": "自定义组合",
"替代方案": "Column + 列表",
"说明": "导航视图"
},
{
"Android 组件": "NavigationRailView",
"类名": "`com.google.android.material.navigationrail.NavigationRailView`",
"HarmonyOS 组件": "自定义组合",
"替代方案": "Column + 垂直列表",
"说明": "导航栏"
},
{
"Android 组件": "TabLayout",
"类名": "`com.google.android.material.tabs.TabLayout`",
"HarmonyOS 组件": "`Tabs`",
"替代方案": "直接映射",
"说明": "标签页布局"
},
{
"Android 组件": "TabItem",
"类名": "`com.google.android.material.tabs.TabItem`",
"HarmonyOS 组件": "`TabContent`",
"替代方案": "配合 Tabs",
"说明": "标签页项"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"NavigationView",
"`com.google.android.material.navigation.NavigationView`",
"自定义组合",
"Column + 列表",
"导航视图"
],
[
"NavigationRailView",
"`com.google.android.material.navigationrail.NavigationRailView`",
"自定义组合",
"Column + 垂直列表",
"导航栏"
],
[
"TabLayout",
"`com.google.android.material.tabs.TabLayout`",
"`Tabs`",
"直接映射",
"标签页布局"
],
[
"TabItem",
"`com.google.android.material.tabs.TabItem`",
"`TabContent`",
"配合 Tabs",
"标签页项"
]
]
},
{
"table_index": 197,
"rows": [
{
"Android 组件": "FloatingActionButton",
"类名": "`com.google.android.material.floatingactionbutton.FloatingActionButton`",
"HarmonyOS 组件": "`Button` + 样式",
"替代方案": "圆形 + 阴影",
"说明": "浮动操作按钮"
},
{
"Android 组件": "ExtendedFloatingActionButton",
"类名": "`com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton`",
"HarmonyOS 组件": "`Button` + 样式",
"替代方案": "长按钮",
"说明": "扩展浮动按钮"
},
{
"Android 组件": "SpeedDial",
"类名": "`com.google.android.material.floatingactionbutton.FloatingActionButton`",
"HarmonyOS 组件": "自定义组合",
"替代方案": "多个 FAB",
"说明": "快捷拨号(组合实现)"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"FloatingActionButton",
"`com.google.android.material.floatingactionbutton.FloatingActionButton`",
"`Button` + 样式",
"圆形 + 阴影",
"浮动操作按钮"
],
[
"ExtendedFloatingActionButton",
"`com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton`",
"`Button` + 样式",
"长按钮",
"扩展浮动按钮"
],
[
"SpeedDial",
"`com.google.android.material.floatingactionbutton.FloatingActionButton`",
"自定义组合",
"多个 FAB",
"快捷拨号(组合实现)"
]
]
},
{
"table_index": 198,
"rows": [
{
"Android 组件": "AlertDialog",
"类名": "`androidx.appcompat.app.AlertDialog`",
"HarmonyOS 组件": "`AlertDialog`",
"替代方案": "直接映射",
"说明": "警告对话框"
},
{
"Android 组件": "MaterialAlertDialogBuilder",
"类名": "`com.google.android.material.dialog.MaterialAlertDialogBuilder`",
"HarmonyOS 组件": "`AlertDialog`",
"替代方案": "配置 Material 样式",
"说明": "Material 对话框构建器"
},
{
"Android 组件": "DatePickerDialog",
"类名": "`android.app.DatePickerDialog`",
"HarmonyOS 组件": "`DatePickerDialog`",
"替代方案": "直接映射",
"说明": "日期选择对话框"
},
{
"Android 组件": "TimePickerDialog",
"类名": "`android.app.TimePickerDialog`",
"HarmonyOS 组件": "`TimePickerDialog`",
"替代方案": "直接映射",
"说明": "时间选择对话框"
},
{
"Android 组件": "ProgressDialog",
"类名": "`android.app.ProgressDialog`",
"HarmonyOS 组件": "`LoadingDialog`",
"替代方案": "已废弃",
"说明": "进度对话框(已废弃)"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"AlertDialog",
"`androidx.appcompat.app.AlertDialog`",
"`AlertDialog`",
"直接映射",
"警告对话框"
],
[
"MaterialAlertDialogBuilder",
"`com.google.android.material.dialog.MaterialAlertDialogBuilder`",
"`AlertDialog`",
"配置 Material 样式",
"Material 对话框构建器"
],
[
"DatePickerDialog",
"`android.app.DatePickerDialog`",
"`DatePickerDialog`",
"直接映射",
"日期选择对话框"
],
[
"TimePickerDialog",
"`android.app.TimePickerDialog`",
"`TimePickerDialog`",
"直接映射",
"时间选择对话框"
],
[
"ProgressDialog",
"`android.app.ProgressDialog`",
"`LoadingDialog`",
"已废弃",
"进度对话框(已废弃)"
]
]
},
{
"table_index": 199,
"rows": [
{
"Android 组件": "Snackbar",
"类名": "`com.google.android.material.snackbar.Snackbar`",
"HarmonyOS 组件": "自定义组合",
"替代方案": "Toast + 样式",
"说明": "快速提示条"
},
{
"Android 组件": "Toast",
"类名": "`android.widget.Toast`",
"HarmonyOS 组件": "`prompt.showToast()`",
"替代方案": "API 调用",
"说明": "吐司提示"
},
{
"Android 组件": "Tooltip",
"类名": "`com.google.android.material.tooltip.TooltipDrawable`",
"HarmonyOS 组件": "暂无直接对应",
"替代方案": "自定义 Popup",
"说明": "工具提示"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"Snackbar",
"`com.google.android.material.snackbar.Snackbar`",
"自定义组合",
"Toast + 样式",
"快速提示条"
],
[
"Toast",
"`android.widget.Toast`",
"`prompt.showToast()`",
"API 调用",
"吐司提示"
],
[
"Tooltip",
"`com.google.android.material.tooltip.TooltipDrawable`",
"暂无直接对应",
"自定义 Popup",
"工具提示"
]
]
},
{
"table_index": 200,
"rows": [
{
"Android 组件": "PopupMenu",
"类名": "`android.widget.PopupMenu`",
"HarmonyOS 组件": "`Menu` / `BindMenu`",
"替代方案": "直接映射",
"说明": "弹出菜单"
},
{
"Android 组件": "PopupWindow",
"类名": "`android.widget.PopupWindow`",
"HarmonyOS 组件": "`Popup`",
"替代方案": "直接映射",
"说明": "弹出窗口"
},
{
"Android 组件": "DropdownMenu",
"类名": "`com.google.android.material.menu.MaterialMenuView`",
"HarmonyOS 组件": "`Select`",
"替代方案": "下拉选择",
"说明": "下拉菜单"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"PopupMenu",
"`android.widget.PopupMenu`",
"`Menu` / `BindMenu`",
"直接映射",
"弹出菜单"
],
[
"PopupWindow",
"`android.widget.PopupWindow`",
"`Popup`",
"直接映射",
"弹出窗口"
],
[
"DropdownMenu",
"`com.google.android.material.menu.MaterialMenuView`",
"`Select`",
"下拉选择",
"下拉菜单"
]
]
},
{
"table_index": 201,
"rows": [
{
"Android 组件": "CircularProgressIndicator",
"类名": "`com.google.android.material.progressindicator.CircularProgressIndicator`",
"HarmonyOS 组件": "`Progress` (type: CircularProgressType)",
"替代方案": "配置类型",
"说明": "圆形进度指示器"
},
{
"Android 组件": "LinearProgressIndicator",
"类名": "`com.google.android.material.progressindicator.LinearProgressIndicator`",
"HarmonyOS 组件": "`Progress`",
"替代方案": "配置类型",
"说明": "线性进度指示器"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"CircularProgressIndicator",
"`com.google.android.material.progressindicator.CircularProgressIndicator`",
"`Progress` (type: CircularProgressType)",
"配置类型",
"圆形进度指示器"
],
[
"LinearProgressIndicator",
"`com.google.android.material.progressindicator.LinearProgressIndicator`",
"`Progress`",
"配置类型",
"线性进度指示器"
]
]
},
{
"table_index": 202,
"rows": [
{
"Android 组件": "Slider",
"类名": "`com.google.android.material.slider.Slider`",
"HarmonyOS 组件": "`Slider`",
"替代方案": "直接映射",
"说明": "滑块"
},
{
"Android 组件": "RangeSlider",
"类名": "`com.google.android.material.slider.RangeSlider`",
"HarmonyOS 组件": "暂无直接对应",
"替代方案": "自定义双 Slider",
"说明": "范围滑块"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"Slider",
"`com.google.android.material.slider.Slider`",
"`Slider`",
"直接映射",
"滑块"
],
[
"RangeSlider",
"`com.google.android.material.slider.RangeSlider`",
"暂无直接对应",
"自定义双 Slider",
"范围滑块"
]
]
},
{
"table_index": 203,
"rows": [
{
"Android 组件": "Chip",
"类名": "`com.google.android.material.chip.Chip`",
"HarmonyOS 组件": "自定义组合",
"替代方案": "Row + 样式",
"说明": "芯片标签"
},
{
"Android 组件": "ChipGroup",
"类名": "`com.google.android.material.chip.ChipGroup`",
"HarmonyOS 组件": "`CheckboxGroup` / `Flex`",
"替代方案": "配合 Chip",
"说明": "芯片组"
},
{
"Android 组件": "ChipDrawable",
"类名": "`com.google.android.material.chip.ChipDrawable`",
"HarmonyOS 组件": "自定义样式",
"替代方案": "@Styles",
"说明": "芯片绘制"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"Chip",
"`com.google.android.material.chip.Chip`",
"自定义组合",
"Row + 样式",
"芯片标签"
],
[
"ChipGroup",
"`com.google.android.material.chip.ChipGroup`",
"`CheckboxGroup` / `Flex`",
"配合 Chip",
"芯片组"
],
[
"ChipDrawable",
"`com.google.android.material.chip.ChipDrawable`",
"自定义样式",
"@Styles",
"芯片绘制"
]
]
},
{
"table_index": 204,
"rows": [
{
"Android 组件": "Toolbar",
"类名": "`androidx.appcompat.widget.Toolbar`",
"HarmonyOS 组件": "自定义组合",
"替代方案": "Row + 按钮",
"说明": "工具栏"
},
{
"Android 组件": "MaterialToolbar",
"类名": "`com.google.android.material.appbar.MaterialToolbar`",
"HarmonyOS 组件": "自定义组合",
"替代方案": "Row + 样式",
"说明": "Material 工具栏"
},
{
"Android 组件": "SearchBar",
"类名": "`com.google.android.material.search.SearchBar`",
"HarmonyOS 组件": "`Search`",
"替代方案": "配置样式",
"说明": "搜索栏"
},
{
"Android 组件": "SearchView",
"类名": "`com.google.android.material.search.SearchView`",
"HarmonyOS 组件": "`Search`",
"替代方案": "配置样式",
"说明": "搜索视图"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"Toolbar",
"`androidx.appcompat.widget.Toolbar`",
"自定义组合",
"Row + 按钮",
"工具栏"
],
[
"MaterialToolbar",
"`com.google.android.material.appbar.MaterialToolbar`",
"自定义组合",
"Row + 样式",
"Material 工具栏"
],
[
"SearchBar",
"`com.google.android.material.search.SearchBar`",
"`Search`",
"配置样式",
"搜索栏"
],
[
"SearchView",
"`com.google.android.material.search.SearchView`",
"`Search`",
"配置样式",
"搜索视图"
]
]
},
{
"table_index": 205,
"rows": [
{
"Android 组件": "ShimmerFrameLayout",
"类名": "`com.facebook.shimmer.ShimmerFrameLayout`",
"HarmonyOS 组件": "暂无直接对应",
"替代方案": "自定义动画",
"说明": "骨架屏动画(Facebook)"
},
{
"Android 组件": "SkeletonLayout",
"类名": "第三方库",
"HarmonyOS 组件": "暂无直接对应",
"替代方案": "自定义加载占位",
"说明": "骨架屏布局"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"ShimmerFrameLayout",
"`com.facebook.shimmer.ShimmerFrameLayout`",
"暂无直接对应",
"自定义动画",
"骨架屏动画(Facebook)"
],
[
"SkeletonLayout",
"第三方库",
"暂无直接对应",
"自定义加载占位",
"骨架屏布局"
]
]
},
{
"table_index": 206,
"rows": [
{
"Android Compose": "Text",
"函数名": "`Text()`",
"HarmonyOS 组件": "`Text`",
"替代方案": "直接映射",
"说明": "文本显示"
},
{
"Android Compose": "TextField",
"函数名": "`TextField()` / `OutlinedTextField()`",
"HarmonyOS 组件": "`TextInput`",
"替代方案": "配置样式",
"说明": "文本输入框"
},
{
"Android Compose": "BasicTextField",
"函数名": "`BasicTextField()`",
"HarmonyOS 组件": "`TextInput`",
"替代方案": "基础配置",
"说明": "基础文本输入"
},
{
"Android Compose": "Button",
"函数名": "`Button()`",
"HarmonyOS 组件": "`Button`",
"替代方案": "直接映射",
"说明": "按钮"
},
{
"Android Compose": "IconButton",
"函数名": "`IconButton()`",
"HarmonyOS 组件": "`Button` + 图标",
"替代方案": "组合实现",
"说明": "图标按钮"
},
{
"Android Compose": "Icon",
"函数名": "`Icon()`",
"HarmonyOS 组件": "`SymbolGlyph` / `Image`",
"替代方案": "系统图标或图片",
"说明": "图标"
},
{
"Android Compose": "Image",
"函数名": "`Image()`",
"HarmonyOS 组件": "`Image`",
"替代方案": "直接映射",
"说明": "图片"
},
{
"Android Compose": "Checkbox",
"函数名": "`Checkbox()`",
"HarmonyOS 组件": "`Checkbox`",
"替代方案": "直接映射",
"说明": "复选框"
},
{
"Android Compose": "RadioButton",
"函数名": "`RadioButton()`",
"HarmonyOS 组件": "`Radio`",
"替代方案": "配合容器",
"说明": "单选按钮"
},
{
"Android Compose": "Switch",
"函数名": "`Switch()`",
"HarmonyOS 组件": "`Toggle` (Switch)",
"替代方案": "直接映射",
"说明": "开关"
},
{
"Android Compose": "Slider",
"函数名": "`Slider()`",
"HarmonyOS 组件": "`Slider`",
"替代方案": "直接映射",
"说明": "滑块"
},
{
"Android Compose": "RangeSlider",
"函数名": "`RangeSlider()`",
"HarmonyOS 组件": "暂无直接对应",
"替代方案": "自定义双 Slider",
"说明": "范围滑块"
}
],
"raw_table": [
[
"Android Compose",
"函数名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"Text",
"`Text()`",
"`Text`",
"直接映射",
"文本显示"
],
[
"TextField",
"`TextField()` / `OutlinedTextField()`",
"`TextInput`",
"配置样式",
"文本输入框"
],
[
"BasicTextField",
"`BasicTextField()`",
"`TextInput`",
"基础配置",
"基础文本输入"
],
[
"Button",
"`Button()`",
"`Button`",
"直接映射",
"按钮"
],
[
"IconButton",
"`IconButton()`",
"`Button` + 图标",
"组合实现",
"图标按钮"
],
[
"Icon",
"`Icon()`",
"`SymbolGlyph` / `Image`",
"系统图标或图片",
"图标"
],
[
"Image",
"`Image()`",
"`Image`",
"直接映射",
"图片"
],
[
"Checkbox",
"`Checkbox()`",
"`Checkbox`",
"直接映射",
"复选框"
],
[
"RadioButton",
"`RadioButton()`",
"`Radio`",
"配合容器",
"单选按钮"
],
[
"Switch",
"`Switch()`",
"`Toggle` (Switch)",
"直接映射",
"开关"
],
[
"Slider",
"`Slider()`",
"`Slider`",
"直接映射",
"滑块"
],
[
"RangeSlider",
"`RangeSlider()`",
"暂无直接对应",
"自定义双 Slider",
"范围滑块"
]
]
},
{
"table_index": 207,
"rows": [
{
"Android Compose": "Column",
"函数名": "`Column()`",
"HarmonyOS 组件": "`Column`",
"替代方案": "直接映射",
"说明": "垂直线性布局"
},
{
"Android Compose": "Row",
"函数名": "`Row()`",
"HarmonyOS 组件": "`Row`",
"替代方案": "直接映射",
"说明": "水平线性布局"
},
{
"Android Compose": "Box",
"函数名": "`Box()`",
"HarmonyOS 组件": "`Stack`",
"替代方案": "直接映射",
"说明": "堆叠布局"
},
{
"Android Compose": "ConstraintLayout",
"函数名": "`ConstraintLayout()`",
"HarmonyOS 组件": "`RelativeContainer`",
"替代方案": "部分对应",
"说明": "约束布局"
},
{
"Android Compose": "FlowRow",
"函数名": "`FlowRow()`",
"HarmonyOS 组件": "`Flex` (direction: Row)",
"替代方案": "流式行布局",
"说明": "流式行布局"
},
{
"Android Compose": "FlowColumn",
"函数名": "`FlowColumn()`",
"HarmonyOS 组件": "`Flex` (direction: Column)",
"替代方案": "流式列布局",
"说明": "流式列布局"
},
{
"Android Compose": "LazyColumn",
"函数名": "`LazyColumn()`",
"HarmonyOS 组件": "`List` (listDirection: Axis.Vertical)",
"替代方案": "配合 LazyForEach",
"说明": "懒加载垂直列表"
},
{
"Android Compose": "LazyRow",
"函数名": "`LazyRow()`",
"HarmonyOS 组件": "`List` (listDirection: Axis.Horizontal)",
"替代方案": "配合 LazyForEach",
"说明": "懒加载水平列表"
},
{
"Android Compose": "LazyVerticalGrid",
"函数名": "`LazyVerticalGrid()`",
"HarmonyOS 组件": "`Grid` + LazyForEach",
"替代方案": "网格懒加载",
"说明": "懒加载垂直网格"
},
{
"Android Compose": "LazyHorizontalGrid",
"函数名": "`LazyHorizontalGrid()`",
"HarmonyOS 组件": "`Grid` + LazyForEach",
"替代方案": "网格懒加载",
"说明": "懒加载水平网格"
},
{
"Android Compose": "GridLayout",
"函数名": "`GridLayout()`",
"HarmonyOS 组件": "`GridRow` + `GridCol`",
"替代方案": "栅格系统",
"说明": "网格布局"
}
],
"raw_table": [
[
"Android Compose",
"函数名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"Column",
"`Column()`",
"`Column`",
"直接映射",
"垂直线性布局"
],
[
"Row",
"`Row()`",
"`Row`",
"直接映射",
"水平线性布局"
],
[
"Box",
"`Box()`",
"`Stack`",
"直接映射",
"堆叠布局"
],
[
"ConstraintLayout",
"`ConstraintLayout()`",
"`RelativeContainer`",
"部分对应",
"约束布局"
],
[
"FlowRow",
"`FlowRow()`",
"`Flex` (direction: Row)",
"流式行布局",
"流式行布局"
],
[
"FlowColumn",
"`FlowColumn()`",
"`Flex` (direction: Column)",
"流式列布局",
"流式列布局"
],
[
"LazyColumn",
"`LazyColumn()`",
"`List` (listDirection: Axis.Vertical)",
"配合 LazyForEach",
"懒加载垂直列表"
],
[
"LazyRow",
"`LazyRow()`",
"`List` (listDirection: Axis.Horizontal)",
"配合 LazyForEach",
"懒加载水平列表"
],
[
"LazyVerticalGrid",
"`LazyVerticalGrid()`",
"`Grid` + LazyForEach",
"网格懒加载",
"懒加载垂直网格"
],
[
"LazyHorizontalGrid",
"`LazyHorizontalGrid()`",
"`Grid` + LazyForEach",
"网格懒加载",
"懒加载水平网格"
],
[
"GridLayout",
"`GridLayout()`",
"`GridRow` + `GridCol`",
"栅格系统",
"网格布局"
]
]
},
{
"table_index": 208,
"rows": [
{
"Android Compose": "Card",
"函数名": "`Card()` / `ElevatedCard()` / `OutlinedCard()`",
"HarmonyOS 组件": "`Column` + 样式",
"替代方案": "卡片",
"说明": ""
},
{
"Android Compose": "FloatingActionButton",
"函数名": "`FloatingActionButton()` / `ExtendedFloatingActionButton()`",
"HarmonyOS 组件": "`Button` + 样式",
"替代方案": "浮动按钮",
"说明": ""
},
{
"Android Compose": "Chip",
"函数名": "`Chip()` / `InputChip()` / `FilterChip()` / `SuggestionChip()`",
"HarmonyOS 组件": "自定义组合",
"替代方案": "Row + 样式",
"说明": "芯片"
},
{
"Android Compose": "NavigationBar",
"函数名": "`NavigationBar()`",
"HarmonyOS 组件": "`Tabs`",
"替代方案": "配合路由",
"说明": "底部导航栏"
},
{
"Android Compose": "NavigationRail",
"函数名": "`NavigationRail()`",
"HarmonyOS 组件": "自定义组合",
"替代方案": "垂直导航",
"说明": "侧边导航栏"
},
{
"Android Compose": "NavigationDrawer",
"函数名": "`ModalNavigationDrawer()`",
"HarmonyOS 组件": "`Sheet` / 自定义",
"替代方案": "导航抽屉",
"说明": "模态导航抽屉"
},
{
"Android Compose": "TabRow",
"函数名": "`TabRow()` / `ScrollableTabRow()`",
"HarmonyOS 组件": "`Tabs`",
"替代方案": "直接映射",
"说明": "标签页行"
},
{
"Android Compose": "BottomSheet",
"函数名": "`BottomSheetScaffold()`",
"HarmonyOS 组件": "`Sheet`",
"替代方案": "直接映射",
"说明": "底部抽屉"
},
{
"Android Compose": "Snackbar",
"函数名": "`Snackbar()` / `SnackbarHost()`",
"HarmonyOS 组件": "自定义组合",
"替代方案": "Toast + 样式",
"说明": "快速提示"
},
{
"Android Compose": "TopAppBar",
"函数名": "`TopAppBar()` / `CenterAlignedTopAppBar()` / `MediumTopAppBar()` / `LargeTopAppBar()`",
"HarmonyOS 组件": "自定义组合",
"替代方案": "Row + 样式",
"说明": "顶部应用栏"
},
{
"Android Compose": "AlertDialog",
"函数名": "`AlertDialog()`",
"HarmonyOS 组件": "`AlertDialog`",
"替代方案": "直接映射",
"说明": "警告对话框"
},
{
"Android Compose": "DatePicker",
"函数名": "`DatePicker()`",
"HarmonyOS 组件": "`DatePicker`",
"替代方案": "直接映射",
"说明": "日期选择器"
},
{
"Android Compose": "ProgressIndicator",
"函数名": "`CircularProgressIndicator()` / `LinearProgressIndicator()`",
"HarmonyOS 组件": "`Progress`",
"替代方案": "配置类型",
"说明": "进度指示器"
},
{
"Android Compose": "PullRefresh",
"函数名": "`PullRefreshIndicator()`",
"HarmonyOS 组件": "`Refresh`",
"替代方案": "直接映射",
"说明": "下拉刷新"
},
{
"Android Compose": "SwipeToDismiss",
"函数名": "`SwipeToDismiss()`",
"HarmonyOS 组件": "暂无直接对应",
"替代方案": "拖拽 API + 状态",
"说明": "滑动删除"
}
],
"raw_table": [
[
"Android Compose",
"函数名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"Card",
"`Card()` / `ElevatedCard()` / `OutlinedCard()`",
"`Column` + 样式",
"卡片"
],
[
"FloatingActionButton",
"`FloatingActionButton()` / `ExtendedFloatingActionButton()`",
"`Button` + 样式",
"浮动按钮"
],
[
"Chip",
"`Chip()` / `InputChip()` / `FilterChip()` / `SuggestionChip()`",
"自定义组合",
"Row + 样式",
"芯片"
],
[
"NavigationBar",
"`NavigationBar()`",
"`Tabs`",
"配合路由",
"底部导航栏"
],
[
"NavigationRail",
"`NavigationRail()`",
"自定义组合",
"垂直导航",
"侧边导航栏"
],
[
"NavigationDrawer",
"`ModalNavigationDrawer()`",
"`Sheet` / 自定义",
"导航抽屉",
"模态导航抽屉"
],
[
"TabRow",
"`TabRow()` / `ScrollableTabRow()`",
"`Tabs`",
"直接映射",
"标签页行"
],
[
"BottomSheet",
"`BottomSheetScaffold()`",
"`Sheet`",
"直接映射",
"底部抽屉"
],
[
"Snackbar",
"`Snackbar()` / `SnackbarHost()`",
"自定义组合",
"Toast + 样式",
"快速提示"
],
[
"TopAppBar",
"`TopAppBar()` / `CenterAlignedTopAppBar()` / `MediumTopAppBar()` / `LargeTopAppBar()`",
"自定义组合",
"Row + 样式",
"顶部应用栏"
],
[
"AlertDialog",
"`AlertDialog()`",
"`AlertDialog`",
"直接映射",
"警告对话框"
],
[
"DatePicker",
"`DatePicker()`",
"`DatePicker`",
"直接映射",
"日期选择器"
],
[
"ProgressIndicator",
"`CircularProgressIndicator()` / `LinearProgressIndicator()`",
"`Progress`",
"配置类型",
"进度指示器"
],
[
"PullRefresh",
"`PullRefreshIndicator()`",
"`Refresh`",
"直接映射",
"下拉刷新"
],
[
"SwipeToDismiss",
"`SwipeToDismiss()`",
"暂无直接对应",
"拖拽 API + 状态",
"滑动删除"
]
]
},
{
"table_index": 209,
"rows": [
{
"Android Compose": "AnimatedVisibility",
"函数名": "`AnimatedVisibility()`",
"HarmonyOS 组件": "`transition` + `animateTo`",
"替代方案": "动画可见性",
"说明": ""
},
{
"Android Compose": "AnimatedContent",
"函数名": "`AnimatedContent()`",
"HarmonyOS 组件": "`transition` + `animateTo`",
"替代方案": "动画内容切换",
"说明": ""
},
{
"Android Compose": "Crossfade",
"函数名": "`Crossfade()`",
"HarmonyOS 组件": "`animateTo` (opacity)",
"替代方案": "淡入淡出",
"说明": ""
},
{
"Android Compose": "animateAsState",
"函数名": "`animate*AsState()`",
"HarmonyOS 组件": "`animateTo`",
"替代方案": "状态动画",
"说明": ""
},
{
"Android Compose": "AnimatedValue",
"函数名": "`animateFloatAsState()` 等",
"HarmonyOS 组件": "`animateTo`",
"替代方案": "值动画",
"说明": ""
}
],
"raw_table": [
[
"Android Compose",
"函数名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"AnimatedVisibility",
"`AnimatedVisibility()`",
"`transition` + `animateTo`",
"动画可见性"
],
[
"AnimatedContent",
"`AnimatedContent()`",
"`transition` + `animateTo`",
"动画内容切换"
],
[
"Crossfade",
"`Crossfade()`",
"`animateTo` (opacity)",
"淡入淡出"
],
[
"animateAsState",
"`animate*AsState()`",
"`animateTo`",
"状态动画"
],
[
"AnimatedValue",
"`animateFloatAsState()` 等",
"`animateTo`",
"值动画"
]
]
},
{
"table_index": 210,
"rows": [
{
"Android 组件": "WebView",
"类名": "`android.webkit.WebView`",
"HarmonyOS 组件": "`Web`",
"替代方案": "直接映射",
"说明": "网页视图"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"WebView",
"`android.webkit.WebView`",
"`Web`",
"直接映射",
"网页视图"
]
]
},
{
"table_index": 211,
"rows": [
{
"Android 组件": "SurfaceView",
"类名": "`android.view.SurfaceView`",
"HarmonyOS 组件": "`XComponent`",
"替代方案": "OpenGL 渲染",
"说明": "表面视图(独立绘图线程)"
},
{
"Android 组件": "TextureView",
"类名": "`android.view.TextureView`",
"HarmonyOS 组件": "`XComponent`",
"替代方案": "原生渲染",
"说明": "纹理视图(支持动画变换)"
},
{
"Android 组件": "GLSurfaceView",
"类名": "`android.opengl.GLSurfaceView`",
"HarmonyOS 组件": "`XComponent`",
"替代方案": "OpenGL 渲染",
"说明": "OpenGL 表面视图"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"SurfaceView",
"`android.view.SurfaceView`",
"`XComponent`",
"OpenGL 渲染",
"表面视图(独立绘图线程)"
],
[
"TextureView",
"`android.view.TextureView`",
"`XComponent`",
"原生渲染",
"纹理视图(支持动画变换)"
],
[
"GLSurfaceView",
"`android.opengl.GLSurfaceView`",
"`XComponent`",
"OpenGL 渲染",
"OpenGL 表面视图"
]
]
},
{
"table_index": 212,
"rows": [
{
"Android 组件": "View",
"类名": "`android.view.View`",
"HarmonyOS 组件": "`@Component`",
"替代方案": "自定义组件",
"说明": "视图基类"
},
{
"Android 组件": "ViewGroup",
"类名": "`android.view.ViewGroup`",
"HarmonyOS 组件": "容器组件",
"替代方案": "Row/Column/Stack 等",
"说明": "视图组基类"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"View",
"`android.view.View`",
"`@Component`",
"自定义组件",
"视图基类"
],
[
"ViewGroup",
"`android.view.ViewGroup`",
"容器组件",
"Row/Column/Stack 等",
"视图组基类"
]
]
},
{
"table_index": 213,
"rows": [
{
"Android 组件": "RemoteViews",
"类名": "`android.widget.RemoteViews`",
"HarmonyOS 组件": "暂无直接对应",
"替代方案": "通知 API",
"说明": "远程视图(用于通知、桌面小部件)"
},
{
"Android 组件": "AppWidgetHostView",
"类名": "`android.appwidget.AppWidgetHostView`",
"HarmonyOS 组件": "暂无直接对应",
"替代方案": "桌面小部件 API",
"说明": "应用小部件宿主视图"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"RemoteViews",
"`android.widget.RemoteViews`",
"暂无直接对应",
"通知 API",
"远程视图(用于通知、桌面小部件)"
],
[
"AppWidgetHostView",
"`android.appwidget.AppWidgetHostView`",
"暂无直接对应",
"桌面小部件 API",
"应用小部件宿主视图"
]
]
},
{
"table_index": 214,
"rows": [
{
"Android 组件": "ViewStub",
"类名": "`android.view.ViewStub`",
"HarmonyOS 组件": "暂无直接对应",
"替代方案": "条件渲染 + Lazy",
"说明": "延迟加载视图"
},
{
"Android 组件": "Space",
"类名": "`android.widget.Space`",
"HarmonyOS 组件": "`Row`/`Column` 空子项",
"替代方案": "布局技巧",
"说明": "空白占位"
},
{
"Android 组件": "ViewOutlineProvider",
"类名": "`android.view.ViewOutlineProvider`",
"HarmonyOS 组件": "暂无直接对应",
"替代方案": "clipShape API",
"说明": "视图轮廓提供者"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"ViewStub",
"`android.view.ViewStub`",
"暂无直接对应",
"条件渲染 + Lazy",
"延迟加载视图"
],
[
"Space",
"`android.widget.Space`",
"`Row`/`Column` 空子项",
"布局技巧",
"空白占位"
],
[
"ViewOutlineProvider",
"`android.view.ViewOutlineProvider`",
"暂无直接对应",
"clipShape API",
"视图轮廓提供者"
]
]
},
{
"table_index": 215,
"rows": [
{
"Android 组件": "GestureDetector",
"类名": "`android.view.GestureDetector`",
"HarmonyOS 组件": "手势 API 组合",
"替代方案": "TapGesture/PanGesture 等",
"说明": "手势检测器"
},
{
"Android 组件": "ScaleGestureDetector",
"类名": "`android.view.ScaleGestureDetector`",
"HarmonyOS 组件": "`PinchGesture`",
"替代方案": "直接映射",
"说明": "缩放手势检测器"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 组件",
"替代方案",
"说明"
],
[
"GestureDetector",
"`android.view.GestureDetector`",
"手势 API 组合",
"TapGesture/PanGesture 等",
"手势检测器"
],
[
"ScaleGestureDetector",
"`android.view.ScaleGestureDetector`",
"`PinchGesture`",
"直接映射",
"缩放手势检测器"
]
]
},
{
"table_index": 216,
"rows": [
{
"Android XML": "layout_width",
"HarmonyOS": "width",
"说明": "宽度",
"代码示例对比": "Android: `android:layout_width=\"100dp\"`<br/>HarmonyOS: `Component().width(100)`"
},
{
"Android XML": "layout_height",
"HarmonyOS": "height",
"说明": "高度",
"代码示例对比": "Android: `android:layout_height=\"match_parent\"`<br/>HarmonyOS: `Component().height('100%')`"
},
{
"Android XML": "minWidth",
"HarmonyOS": "constraintSize({ minWidth: value })",
"说明": "最小宽度",
"代码示例对比": "Android: `android:minWidth=\"100dp\"`<br/>HarmonyOS: `Component().constraintSize({ minWidth: 100 })`"
},
{
"Android XML": "maxWidth",
"HarmonyOS": "constraintSize({ maxWidth: value })",
"说明": "最大宽度",
"代码示例对比": "Android: `android:maxWidth=\"200dp\"`<br/>HarmonyOS: `Component().constraintSize({ maxWidth: 200 })`"
},
{
"Android XML": "minHeight",
"HarmonyOS": "constraintSize({ minHeight: value })",
"说明": "最小高度",
"代码示例对比": "Android: `android:minHeight=\"50dp\"`<br/>HarmonyOS: `Component().constraintSize({ minHeight: 50 })`"
},
{
"Android XML": "maxHeight",
"HarmonyOS": "constraintSize({ maxHeight: value })",
"说明": "最大高度",
"代码示例对比": "Android: `android:maxHeight=\"300dp\"`<br/>HarmonyOS: `Component().constraintSize({ maxHeight: 300 })`"
},
{
"Android XML": "layout_weight",
"HarmonyOS": "layoutWeight",
"说明": "布局权重",
"代码示例对比": "Android: `android:layout_weight=\"1\"`<br/>HarmonyOS: `Component().layoutWeight(1)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS",
"说明",
"代码示例对比"
],
[
"layout_width",
"width",
"宽度",
"Android: `android:layout_width=\"100dp\"`<br/>HarmonyOS: `Component().width(100)`"
],
[
"layout_height",
"height",
"高度",
"Android: `android:layout_height=\"match_parent\"`<br/>HarmonyOS: `Component().height('100%')`"
],
[
"minWidth",
"constraintSize({ minWidth: value })",
"最小宽度",
"Android: `android:minWidth=\"100dp\"`<br/>HarmonyOS: `Component().constraintSize({ minWidth: 100 })`"
],
[
"maxWidth",
"constraintSize({ maxWidth: value })",
"最大宽度",
"Android: `android:maxWidth=\"200dp\"`<br/>HarmonyOS: `Component().constraintSize({ maxWidth: 200 })`"
],
[
"minHeight",
"constraintSize({ minHeight: value })",
"最小高度",
"Android: `android:minHeight=\"50dp\"`<br/>HarmonyOS: `Component().constraintSize({ minHeight: 50 })`"
],
[
"maxHeight",
"constraintSize({ maxHeight: value })",
"最大高度",
"Android: `android:maxHeight=\"300dp\"`<br/>HarmonyOS: `Component().constraintSize({ maxHeight: 300 })`"
],
[
"layout_weight",
"layoutWeight",
"布局权重",
"Android: `android:layout_weight=\"1\"`<br/>HarmonyOS: `Component().layoutWeight(1)`"
]
]
},
{
"table_index": 217,
"rows": [
{
"Android XML": "layout_margin",
"HarmonyOS": "margin",
"说明": "外边距",
"代码示例对比": "Android: `android:layout_margin=\"10dp\"`<br/>HarmonyOS: `Component().margin(10)`"
},
{
"Android XML": "layout_marginTop",
"HarmonyOS": "margin({ top: value })",
"说明": "上边距",
"代码示例对比": "Android: `android:layout_marginTop=\"10dp\"`<br/>HarmonyOS: `Component().margin({ top: 10 })`"
},
{
"Android XML": "layout_marginBottom",
"HarmonyOS": "margin({ bottom: value })",
"说明": "下边距",
"代码示例对比": "Android: `android:layout_marginBottom=\"10dp\"`<br/>HarmonyOS: `Component().margin({ bottom: 10 })`"
},
{
"Android XML": "layout_marginLeft",
"HarmonyOS": "margin({ left: value })",
"说明": "左边距",
"代码示例对比": "Android: `android:layout_marginLeft=\"10dp\"`<br/>HarmonyOS: `Component().margin({ left: 10 })`"
},
{
"Android XML": "layout_marginRight",
"HarmonyOS": "margin({ right: value })",
"说明": "右边距",
"代码示例对比": "Android: `android:layout_marginRight=\"10dp\"`<br/>HarmonyOS: `Component().margin({ right: 10 })`"
},
{
"Android XML": "layout_marginStart",
"HarmonyOS": "margin({ start: value })",
"说明": "起始边距",
"代码示例对比": "Android: `android:layout_marginStart=\"10dp\"`<br/>HarmonyOS: `Component().margin({ start: 10 })`"
},
{
"Android XML": "layout_marginEnd",
"HarmonyOS": "margin({ end: value })",
"说明": "结束边距",
"代码示例对比": "Android: `android:layout_marginEnd=\"10dp\"`<br/>HarmonyOS: `Component().margin({ end: 10 })`"
},
{
"Android XML": "padding",
"HarmonyOS": "padding",
"说明": "内边距",
"代码示例对比": "Android: `android:padding=\"10dp\"`<br/>HarmonyOS: `Component().padding(10)`"
},
{
"Android XML": "paddingTop",
"HarmonyOS": "padding({ top: value })",
"说明": "上内边距",
"代码示例对比": "Android: `android:paddingTop=\"10dp\"`<br/>HarmonyOS: `Component().padding({ top: 10 })`"
},
{
"Android XML": "paddingBottom",
"HarmonyOS": "padding({ bottom: value })",
"说明": "下内边距",
"代码示例对比": "Android: `android:paddingBottom=\"10dp\"`<br/>HarmonyOS: `Component().padding({ bottom: 10 })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS",
"说明",
"代码示例对比"
],
[
"layout_margin",
"margin",
"外边距",
"Android: `android:layout_margin=\"10dp\"`<br/>HarmonyOS: `Component().margin(10)`"
],
[
"layout_marginTop",
"margin({ top: value })",
"上边距",
"Android: `android:layout_marginTop=\"10dp\"`<br/>HarmonyOS: `Component().margin({ top: 10 })`"
],
[
"layout_marginBottom",
"margin({ bottom: value })",
"下边距",
"Android: `android:layout_marginBottom=\"10dp\"`<br/>HarmonyOS: `Component().margin({ bottom: 10 })`"
],
[
"layout_marginLeft",
"margin({ left: value })",
"左边距",
"Android: `android:layout_marginLeft=\"10dp\"`<br/>HarmonyOS: `Component().margin({ left: 10 })`"
],
[
"layout_marginRight",
"margin({ right: value })",
"右边距",
"Android: `android:layout_marginRight=\"10dp\"`<br/>HarmonyOS: `Component().margin({ right: 10 })`"
],
[
"layout_marginStart",
"margin({ start: value })",
"起始边距",
"Android: `android:layout_marginStart=\"10dp\"`<br/>HarmonyOS: `Component().margin({ start: 10 })`"
],
[
"layout_marginEnd",
"margin({ end: value })",
"结束边距",
"Android: `android:layout_marginEnd=\"10dp\"`<br/>HarmonyOS: `Component().margin({ end: 10 })`"
],
[
"padding",
"padding",
"内边距",
"Android: `android:padding=\"10dp\"`<br/>HarmonyOS: `Component().padding(10)`"
],
[
"paddingTop",
"padding({ top: value })",
"上内边距",
"Android: `android:paddingTop=\"10dp\"`<br/>HarmonyOS: `Component().padding({ top: 10 })`"
],
[
"paddingBottom",
"padding({ bottom: value })",
"下内边距",
"Android: `android:paddingBottom=\"10dp\"`<br/>HarmonyOS: `Component().padding({ bottom: 10 })`"
]
]
},
{
"table_index": 218,
"rows": [
{
"Android XML": "layout_gravity",
"HarmonyOS": "align / alignSelf",
"说明": "对齐方式",
"代码示例对比": "Android: `android:layout_gravity=\"center\"`<br/>HarmonyOS: `Component().align(Alignment.Center)`"
},
{
"Android XML": "gravity",
"HarmonyOS": "textAlign",
"说明": "文本对齐",
"代码示例对比": "Android: `android:gravity=\"center\"`<br/>HarmonyOS: `Text().textAlign(TextAlign.Center)`"
},
{
"Android XML": "layout_weight",
"HarmonyOS": "layoutWeight",
"说明": "权重",
"代码示例对比": "Android: `android:layout_weight=\"1\"`<br/>HarmonyOS: `Component().layoutWeight(1)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS",
"说明",
"代码示例对比"
],
[
"layout_gravity",
"align / alignSelf",
"对齐方式",
"Android: `android:layout_gravity=\"center\"`<br/>HarmonyOS: `Component().align(Alignment.Center)`"
],
[
"gravity",
"textAlign",
"文本对齐",
"Android: `android:gravity=\"center\"`<br/>HarmonyOS: `Text().textAlign(TextAlign.Center)`"
],
[
"layout_weight",
"layoutWeight",
"权重",
"Android: `android:layout_weight=\"1\"`<br/>HarmonyOS: `Component().layoutWeight(1)`"
]
]
},
{
"table_index": 219,
"rows": [
{
"Android XML": "visibility",
"HarmonyOS": "visibility",
"说明": "可见性",
"代码示例对比": "Android: `android:visibility=\"gone\"`<br/>HarmonyOS: `Component().visibility(Visibility.None)`"
},
{
"Android XML": "alpha",
"HarmonyOS": "opacity",
"说明": "透明度",
"代码示例对比": "Android: `android:alpha=\"0.5\"`<br/>HarmonyOS: `Component().opacity(0.5)`"
},
{
"Android XML": "background",
"HarmonyOS": "backgroundColor",
"说明": "背景色",
"代码示例对比": "Android: `android:background=\"#FF0000FF\"`<br/>HarmonyOS: `Component().backgroundColor('#FF0000FF')`"
},
{
"Android XML": "background",
"HarmonyOS": "backgroundImage",
"说明": "背景图",
"代码示例对比": "Android: `android:background=\"@drawable/bg\"`<br/>HarmonyOS: `Component().backgroundImage($r('app.media.bg'))`"
},
{
"Android XML": "foreground",
"HarmonyOS": "无直接对应",
"说明": "前景图",
"代码示例对比": "Android: `android:foreground`<br/>HarmonyOS: 无直接对应,需组合实现"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS",
"说明",
"代码示例对比"
],
[
"visibility",
"visibility",
"可见性",
"Android: `android:visibility=\"gone\"`<br/>HarmonyOS: `Component().visibility(Visibility.None)`"
],
[
"alpha",
"opacity",
"透明度",
"Android: `android:alpha=\"0.5\"`<br/>HarmonyOS: `Component().opacity(0.5)`"
],
[
"background",
"backgroundColor",
"背景色",
"Android: `android:background=\"#FF0000FF\"`<br/>HarmonyOS: `Component().backgroundColor('#FF0000FF')`"
],
[
"background",
"backgroundImage",
"背景图",
"Android: `android:background=\"@drawable/bg\"`<br/>HarmonyOS: `Component().backgroundImage($r('app.media.bg'))`"
],
[
"foreground",
"无直接对应",
"前景图",
"Android: `android:foreground`<br/>HarmonyOS: 无直接对应,需组合实现"
]
]
},
{
"table_index": 220,
"rows": [
{
"Android XML": "elevation",
"HarmonyOS": "shadow",
"说明": "阴影效果",
"代码示例对比": "Android: `android:elevation=\"10dp\"`<br/>HarmonyOS: `Component().shadow({ radius: 10, color: '#80000000', offsetX: 0, offsetY: 5 })`"
},
{
"Android XML": "cardElevation",
"HarmonyOS": "shadow",
"说明": "卡片阴影",
"代码示例对比": "Android: Material 卡片属性<br/>HarmonyOS: `Column().shadow({ radius: 8, color: '#30000000' })`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS",
"说明",
"代码示例对比"
],
[
"elevation",
"shadow",
"阴影效果",
"Android: `android:elevation=\"10dp\"`<br/>HarmonyOS: `Component().shadow({ radius: 10, color: '#80000000', offsetX: 0, offsetY: 5 })`"
],
[
"cardElevation",
"shadow",
"卡片阴影",
"Android: Material 卡片属性<br/>HarmonyOS: `Column().shadow({ radius: 8, color: '#30000000' })`"
]
]
},
{
"table_index": 221,
"rows": [
{
"Android XML": "rotation",
"HarmonyOS": "rotate",
"说明": "旋转角度",
"代码示例对比": "Android: `android:rotation=\"90\"`<br/>HarmonyOS: `Component().rotate({ angle: 90 })`"
},
{
"Android XML": "scaleX / scaleY",
"HarmonyOS": "scale({ x, y })",
"说明": "缩放",
"代码示例对比": "Android: `android:scaleX=\"1.5\"`<br/>HarmonyOS: `Component().scale({ x: 1.5, y: 1 })`"
},
{
"Android XML": "translationX / translationY",
"HarmonyOS": "translate({ x, y })",
"说明": "平移",
"代码示例对比": "Android: `android:translationX=\"100\"`<br/>HarmonyOS: `Component().translate({ x: 100 })`"
},
{
"Android XML": "pivotX / pivotY",
"HarmonyOS": "无直接对应",
"说明": "旋转中心点",
"代码示例对比": "Android: `android:pivotX=\"0.5\"`<br/>HarmonyOS: 无直接对应"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS",
"说明",
"代码示例对比"
],
[
"rotation",
"rotate",
"旋转角度",
"Android: `android:rotation=\"90\"`<br/>HarmonyOS: `Component().rotate({ angle: 90 })`"
],
[
"scaleX / scaleY",
"scale({ x, y })",
"缩放",
"Android: `android:scaleX=\"1.5\"`<br/>HarmonyOS: `Component().scale({ x: 1.5, y: 1 })`"
],
[
"translationX / translationY",
"translate({ x, y })",
"平移",
"Android: `android:translationX=\"100\"`<br/>HarmonyOS: `Component().translate({ x: 100 })`"
],
[
"pivotX / pivotY",
"无直接对应",
"旋转中心点",
"Android: `android:pivotX=\"0.5\"`<br/>HarmonyOS: 无直接对应"
]
]
},
{
"table_index": 222,
"rows": [
{
"Android XML": "clickable",
"HarmonyOS": "enabled / enabled",
"说明": "是否可点击",
"代码示例对比": "Android: `android:clickable=\"true\"`<br/>HarmonyOS: `Component().enabled(true)`"
},
{
"Android XML": "focusable",
"HarmonyOS": "focusable",
"说明": "是否可获取焦点",
"代码示例对比": "Android: `android:focusable=\"true\"`<br/>HarmonyOS: `Component().focusable(true)`"
},
{
"Android XML": "clickable",
"HarmonyOS": "enabled / enabled",
"说明": "是否可交互",
"代码示例对比": "Android: `android:clickable=\"true\"`<br/>HarmonyOS: `Component().enabled(true)`"
}
],
"raw_table": [
[
"Android XML",
"HarmonyOS",
"说明",
"代码示例对比"
],
[
"clickable",
"enabled / enabled",
"是否可点击",
"Android: `android:clickable=\"true\"`<br/>HarmonyOS: `Component().enabled(true)`"
],
[
"focusable",
"focusable",
"是否可获取焦点",
"Android: `android:focusable=\"true\"`<br/>HarmonyOS: `Component().focusable(true)`"
],
[
"clickable",
"enabled / enabled",
"是否可交互",
"Android: `android:clickable=\"true\"`<br/>HarmonyOS: `Component().enabled(true)`"
]
]
},
{
"table_index": 223,
"rows": [
{
"Android": "dp",
"HarmonyOS": "vp",
"换算关系": "密度无关像素",
"说明": "Android: `16dp` ≈ HarmonyOS: `16vp`"
},
{
"Android": "sp",
"HarmonyOS": "fp",
"换算关系": "字体像素",
"说明": "Android: `16sp` ≈ HarmonyOS: `16fp`"
},
{
"Android": "px",
"HarmonyOS": "px",
"换算关系": "像素",
"说明": "Android: `16px` = HarmonyOS: `16px`"
}
],
"raw_table": [
[
"Android",
"HarmonyOS",
"换算关系",
"说明"
],
[
"dp",
"vp",
"密度无关像素",
"Android: `16dp` ≈ HarmonyOS: `16vp`"
],
[
"sp",
"fp",
"字体像素",
"Android: `16sp` ≈ HarmonyOS: `16fp`"
],
[
"px",
"px",
"像素",
"Android: `16px` = HarmonyOS: `16px`"
]
]
},
{
"table_index": 224,
"rows": [
{
"Android 组件": "**ConstraintLayout 辅助组件**",
"类名": "",
"HarmonyOS 替代方案": "",
"难度等级": "",
"说明": ""
},
{
"Android 组件": "Guideline",
"类名": "`androidx.constraintlayout.widget.Guideline`",
"HarmonyOS 替代方案": "借助 Absolute 定位",
"难度等级": "中等",
"说明": "需手动计算和约束"
},
{
"Android 组件": "Barrier",
"类名": "`androidx.constraintlayout.widget.Barrier`",
"HarmonyOS 替代方案": "手动计算位置",
"难度等级": "中等",
"说明": "需监听子组件尺寸变化"
},
{
"Android 组件": "Group",
"类名": "`androidx.constraintlayout.widget.Group`",
"HarmonyOS 替代方案": "批量操作逻辑",
"难度等级": "简单",
"说明": "需要手动管理引用"
},
{
"Android 组件": "Placeholder",
"类名": "`androidx.constraintlayout.widget.Placeholder`",
"HarmonyOS 替代方案": "动态替换",
"难度等级": "中等",
"说明": "需要状态管理"
},
{
"Android 组件": "**Material 3 特殊组件**",
"类名": "",
"HarmonyOS 替代方案": "",
"难度等级": "",
"说明": ""
},
{
"Android 组件": "RangeSlider",
"类名": "`com.google.android.material.slider.RangeSlider`",
"HarmonyOS 替代方案": "自定义双 Slider",
"难度等级": "中等",
"说明": "需同步两个 Slider 状态"
},
{
"Android 组件": "ShimmerFrameLayout",
"类名": "`com.facebook.shimmer.ShimmerFrameLayout`",
"HarmonyOS 替代方案": "自定义动画",
"难度等级": "简单",
"说明": "使用 animateTo + opacity"
},
{
"Android 组件": "Tooltip",
"类名": "`com.google.android.material.tooltip.TooltipDrawable`",
"HarmonyOS 替代方案": "自定义 Popup",
"难度等级": "中等",
"说明": "长按触发 Popup"
},
{
"Android 组件": "Chip",
"类名": "`com.google.android.material.chip.Chip`",
"HarmonyOS 替代方案": "自定义组合",
"难度等级": "简单",
"说明": "Row + 样式 + 点击逻辑"
},
{
"Android 组件": "**协调布局组件**",
"类名": "",
"HarmonyOS 替代方案": "",
"难度等级": "",
"说明": ""
},
{
"Android 组件": "CoordinatorLayout",
"类名": "`androidx.coordinatorlayout.widget.CoordinatorLayout`",
"HarmonyOS 替代方案": "自定义组合",
"难度等级": "困难",
"说明": "需要复杂的嵌套滚动协调"
},
{
"Android 组件": "AppBarLayout",
"类名": "`com.google.android.material.appbar.AppBarLayout`",
"HarmonyOS 替代方案": "自定义组合",
"难度等级": "中等",
"说明": "需要滚动联动逻辑"
},
{
"Android 组件": "CollapsingToolbarLayout",
"类名": "`com.google.android.material.appbar.CollapsingToolbarLayout`",
"HarmonyOS 替代方案": "自定义组合",
"难度等级": "困难",
"说明": "需要滚动高度计算 + 动画"
},
{
"Android 组件": "**抽屉布局**",
"类名": "",
"HarmonyOS 替代方案": "",
"难度等级": "",
"说明": ""
},
{
"Android 组件": "DrawerLayout",
"类名": "`androidx.drawerlayout.widget.DrawerLayout`",
"HarmonyOS 替代方案": "Sheet / 自定义",
"难度等级": "中等",
"说明": "侧滑手势需要自定义"
},
{
"Android 组件": "SlidingPaneLayout",
"类名": "`androidx.slidingpanelayout.widget.SlidingPaneLayout`",
"HarmonyOS 替代方案": "自定义组合",
"难度等级": "中等",
"说明": "Panel + 动画 + 滑动手势"
},
{
"Android 组件": "**通知与小部件**",
"类名": "",
"HarmonyOS 替代方案": "",
"难度等级": "",
"说明": ""
},
{
"Android 组件": "RemoteViews",
"类名": "`android.widget.RemoteViews`",
"HarmonyOS 替代方案": "通知 Kit",
"难度等级": "困难",
"说明": "桌面小部件暂不支持"
},
{
"Android 组件": "AppWidgetHostView",
"类名": "`android.appwidget.AppWidgetHostView`",
"HarmonyOS 替代方案": "暂不支持",
"难度等级": "不可行",
"说明": "HarmonyOS 没有桌面小部件系统"
},
{
"Android 组件": "**Jetpack Compose 特有**",
"类名": "",
"HarmonyOS 替代方案": "",
"难度等级": "",
"说明": ""
},
{
"Android 组件": "SwipeToDismiss",
"类名": "`SwipeToDismiss()`",
"HarmonyOS 替代方案": "拖拽 API + 状态",
"难度等级": "中等",
"说明": "需要配合 PanGesture + 状态管理"
},
{
"Android 组件": "**其他特殊组件**",
"类名": "",
"HarmonyOS 替代方案": "",
"难度等级": "",
"说明": ""
},
{
"Android 组件": "DialerFilter",
"类名": "`android.widget.DialerFilter`",
"HarmonyOS 替代方案": "自定义业务组件",
"难度等级": "中等",
"说明": "需要具体的拨号逻辑"
},
{
"Android 组件": "ViewStub",
"类名": "`android.view.ViewStub`",
"HarmonyOS 替代方案": "条件渲染 + Lazy",
"难度等级": "简单",
"说明": "使用 if/else + LazyForEach"
},
{
"Android 组件": "ViewOutlineProvider",
"类名": "`android.view.ViewOutlineProvider`",
"HarmonyOS 替代方案": "clipShape API",
"难度等级": "中等",
"说明": "使用通用属性中的裁剪"
},
{
"Android 组件": "MotionLayout",
"类名": "`androidx.constraintlayout.motion.widget.MotionLayout`",
"HarmonyOS 替代方案": "动画 API 组合",
"难度等级": "困难",
"说明": "animateTo + transition + 状态管理"
}
],
"raw_table": [
[
"Android 组件",
"类名",
"HarmonyOS 替代方案",
"难度等级",
"说明"
],
[
"**ConstraintLayout 辅助组件**",
"",
"",
"",
""
],
[
"Guideline",
"`androidx.constraintlayout.widget.Guideline`",
"借助 Absolute 定位",
"中等",
"需手动计算和约束"
],
[
"Barrier",
"`androidx.constraintlayout.widget.Barrier`",
"手动计算位置",
"中等",
"需监听子组件尺寸变化"
],
[
"Group",
"`androidx.constraintlayout.widget.Group`",
"批量操作逻辑",
"简单",
"需要手动管理引用"
],
[
"Placeholder",
"`androidx.constraintlayout.widget.Placeholder`",
"动态替换",
"中等",
"需要状态管理"
],
[
"**Material 3 特殊组件**",
"",
"",
"",
""
],
[
"RangeSlider",
"`com.google.android.material.slider.RangeSlider`",
"自定义双 Slider",
"中等",
"需同步两个 Slider 状态"
],
[
"ShimmerFrameLayout",
"`com.facebook.shimmer.ShimmerFrameLayout`",
"自定义动画",
"简单",
"使用 animateTo + opacity"
],
[
"Tooltip",
"`com.google.android.material.tooltip.TooltipDrawable`",
"自定义 Popup",
"中等",
"长按触发 Popup"
],
[
"Chip",
"`com.google.android.material.chip.Chip`",
"自定义组合",
"简单",
"Row + 样式 + 点击逻辑"
],
[
"**协调布局组件**",
"",
"",
"",
""
],
[
"CoordinatorLayout",
"`androidx.coordinatorlayout.widget.CoordinatorLayout`",
"自定义组合",
"困难",
"需要复杂的嵌套滚动协调"
],
[
"AppBarLayout",
"`com.google.android.material.appbar.AppBarLayout`",
"自定义组合",
"中等",
"需要滚动联动逻辑"
],
[
"CollapsingToolbarLayout",
"`com.google.android.material.appbar.CollapsingToolbarLayout`",
"自定义组合",
"困难",
"需要滚动高度计算 + 动画"
],
[
"**抽屉布局**",
"",
"",
"",
""
],
[
"DrawerLayout",
"`androidx.drawerlayout.widget.DrawerLayout`",
"Sheet / 自定义",
"中等",
"侧滑手势需要自定义"
],
[
"SlidingPaneLayout",
"`androidx.slidingpanelayout.widget.SlidingPaneLayout`",
"自定义组合",
"中等",
"Panel + 动画 + 滑动手势"
],
[
"**通知与小部件**",
"",
"",
"",
""
],
[
"RemoteViews",
"`android.widget.RemoteViews`",
"通知 Kit",
"困难",
"桌面小部件暂不支持"
],
[
"AppWidgetHostView",
"`android.appwidget.AppWidgetHostView`",
"暂不支持",
"不可行",
"HarmonyOS 没有桌面小部件系统"
],
[
"**Jetpack Compose 特有**",
"",
"",
"",
""
],
[
"SwipeToDismiss",
"`SwipeToDismiss()`",
"拖拽 API + 状态",
"中等",
"需要配合 PanGesture + 状态管理"
],
[
"**其他特殊组件**",
"",
"",
"",
""
],
[
"DialerFilter",
"`android.widget.DialerFilter`",
"自定义业务组件",
"中等",
"需要具体的拨号逻辑"
],
[
"ViewStub",
"`android.view.ViewStub`",
"条件渲染 + Lazy",
"简单",
"使用 if/else + LazyForEach"
],
[
"ViewOutlineProvider",
"`android.view.ViewOutlineProvider`",
"clipShape API",
"中等",
"使用通用属性中的裁剪"
],
[
"MotionLayout",
"`androidx.constraintlayout.motion.widget.MotionLayout`",
"动画 API 组合",
"困难",
"animateTo + transition + 状态管理"
]
]
}
]