基于原生能力实现图文混排
应用中基于原生能力实现图文混排效果有多个方案可实现,推荐使用Flex作父容器实现的方案(方案一),此方案优点在于节点数量少,结构简单。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
有人知道如何实现图文混排吗?
482浏览 • 1回复 待解决
如何选择图文混排的实现方案
1722浏览 • 1回复 待解决
关于图文混排的实现方式有哪些
99浏览 • 1回复 待解决
关于实现图文混排的几种方式优劣点
92浏览 • 1回复 待解决
基于原生能力的组件封装
157浏览 • 1回复 待解决
基于原生的水印添加能力
348浏览 • 1回复 待解决
有哪些实现图文混排的方式,每种方式的优劣点是什么,推荐场景是什么
1464浏览 • 1回复 待解决
Text 组件如何渲染图文动态混排
565浏览 • 1回复 待解决
基于原生能力的网络状态感知
181浏览 • 1回复 待解决
基于原生能力的跨应用跳转
494浏览 • 1回复 待解决
基于原生能力的网络加载性能分析
402浏览 • 1回复 待解决
基于原生能力的设备唯一ID方案
394浏览 • 1回复 待解决
基于原生实现高级显示效果
302浏览 • 1回复 待解决
基于ArkUI实现类似.9图的拉伸能力
194浏览 • 1回复 待解决
基于TLSSocket的通信能力
166浏览 • 1回复 待解决
基于原生的跨模块资源访问
411浏览 • 1回复 待解决
基于原生的应用主题开发
167浏览 • 1回复 待解决
基于ArkUI现有能力实现自定义弹窗封装方案
379浏览 • 1回复 待解决
沉浸式图文排列布局如何实现
103浏览 • 1回复 待解决
HarmonyOS原生分享能力的使用
186浏览 • 1回复 待解决
基于@ohos/axios的网络请求能力
145浏览 • 1回复 待解决
HarmonyOS 系统原生能力是否支持PDF预览
186浏览 • 1回复 待解决
HarmonyOS fastjSON 的替代三方库或者原生能力
136浏览 • 1回复 待解决
基于tabs实现页面布局
385浏览 • 1回复 待解决
怎么基于Java实现视频播放?
2597浏览 • 1回复 待解决
应用中基于原生能力实现图文混排效果有多个方案可实现,推荐使用Flex作父容器实现的方案(方案一),此方案优点在于节点数量少,结构简单。
方案一:基于Flex作父容器实现图文混排
建议基于Flex容器作为父容器实现图文混排,优点在于减少节点数量。
内部头像使用Image组件,中间部分使用Text文本组件,右边使用Text文本组件。
核心代码
方案二:基于RelativeContainer相对布局实现图文混排效果
使用此方案RelativeContainer子组件要用alignRules布局组件位置,布局时需指定容器id。参与相对布局的容器内组件必须设置id,不设置id的组件组件不显示,容器id固定为__container__。
如以下核心代码中子组件都设置id,父容器未设置id时,父容器默认id固定为__container__。
核心代码
方案三:基于线性布局实现图文混排效果
基于线性布局实现图文混排时,节点数量会比较多。
核心代码
方案四:基于StyledString(属性字符串)实现图文混排效果
使用StyledString实现图文混排效果,首先得让Text组件与StyledString绑定,绑定后即可使用StyledString设置文本样式以及对文本进行增、删、改、查等操作。
StyledString是一个方便灵活应用文本样式的对象,Text组件可通过TextController中的setStyleString方法与属性字符串绑定。绑定之后即可通过StyledString对文本进行增、删、改、查等一系列操作,并且可以用StyledString设置文本样式。
注意:
1. 组件样式和属性字符串样式冲突时,属性字符串优先级高,冲突样式以属性字符串设置样式为准。
2. Text子组件样式与属性字符串样式冲突,以属性字符串为准。
3. 属性字符串对象不支持@State修饰。
核心代码