官方总结鸿蒙应用开发常见问题与实现方法典型案例
1 自定义Dialog的布局
1.1 问题描述
如何实现自定义的Dialog?
1.2 实现方法
添加自定义Dialog代码
自定义Dialog的布局文件
1.3 实际效果
2 设置控件背景颜色
2.1 问题描述
在xml布局中设置控件ohos:background_element="$color:yellow"无效,目前背景颜色不支持以$color方式设置,只支持$graphic方式设置。
2.2 实现方法
方式1:xml中设置控件背景颜色使用$graphic
资源文件graphic中yellow.xml代码如下:
方式2:纯代码设置控件颜色
2.3 实际效果
3 ScrollView嵌套DirectionalLayout进行滚动
3.1 问题描述
ScrollView嵌套DirectionalLayout如何进行滚动?
3.2 实现方法
1. 使用xml布局,需要将ScrollView的高度设置成“match_parent”,ScrollView子布局的高度设置成“match_content”
2. 使用代码添加,则需要给ScrollView和子布局设置LayoutConfig
3.3 实际效果
4 加载和显示网络图片
4.1 问题描述
如何实现加载和显示网络图片?
4.2 实现方法
1. 在config.json中添加网络权限
2. 获取并设置网络图片
4.3 实际效果
5 ListContainer列表组件的使用
5.1 问题描述
ListContainer列表组件如何使用?
5.2 实现方法
在xml文件中声明组件
获取 ListContainer 组件,并设置itemProvider
自定义 ListItemProvider 继承 RecycleItemProvider
5.3 实际效果
6 读取资源文件
6.1 问题描述
如何读取应用的资源文件?
6.2 实现方法
1. 对于图片文件,建议放到base/media目录下,Image组件可以直接设置,方法如下。
2. 对于rawfile文件的读写,请参考下面的方法:
6.3 实际效果
7 JS方法获取位置信息
7.1 问题描述
使用JS开发时,如何获取位置信息?
7.2 实现方法
1. 导入获取位置模块,并调用getLocation方法获取位置信息
2. 在config.json中增加获取位置信息的权限
7.3 实际效果
8 禁用手表中系统的左右滑动
8.1 问题描述
开发一个应用支持左右滑动的操作,但是在模拟器中右滑时,默认跳转到系统页面,并退出应用,如何禁用系统右滑?
8.2 实现方法
覆盖MainAbility中的onTouchEvent方法,实现如下
9 Text控件中文字换行
9.1 问题描述
Text控件中文字目前不支持\n换行,如何进行换行?
9.2 实现方法
可以使用系统自动换行,保持两行文字长度一致,实现如下
9.3 实际效果
10 在一个布局xml中引入其他xml布局文件
10.1 问题描述
定义了一个公共的XML布局文件,如何在其他XML布局文件中引用这个公共的XML布局文件?
10.2 实现方法
可以通过include标签引用其他的XML布局文件,示例如下:
11 自定义Swtich控件的颜色
11.1 问题描述
如何自定义Swtich控件的开关两个状态下的按钮颜色?
11.2 实现方法
在资源文件graphic文件下创建bg_element.xml和fg_element.xml,bg_element.xml文件内容如下
fg_element.xml文件内容如下
代码实现自定义颜色:
11.3 实际效果
12 视频播放
12.1 问题描述
如何播放本地视频文件和网络视频?
12.2 实现方法
创建布局文件video_player_layout.xml,内容如下
定义下面的变量,内容如下:
实现SurfaceOps.Callback接口,代码如下:
实现Player.IplayerCallback接口,代码如下:
实现播放本地文件的方法,其中test.mp4文件放到资源文件目录下,内容如下:
实现播放网络URL的方法,其中video url为视频资源URL,内容如下,:
播放网络视频,需要申请网络使用权限,在config.json中增加如下内容:
12.3 实际效果
楼主,这部分代码能详细点吗有点弄不明了,求教