TabList中的setIconElement 这个怎么使用?
TabList中的setIconElement 这个怎么使用?
鸿蒙
HarmonyOS
TabList
赞
收藏 0
回答 1
待解决
相关问题
TabList可以添加图片么?
7910浏览 • 3回复 待解决
HarmonyOS router.pushNamedRoute这个API是怎么使用的?
324浏览 • 2回复 待解决
HarmonyOS 怎么判断是否可以使用setSpecificSystemBarEnabled()这个方法
40浏览 • 1回复 待解决
鸿蒙tablist 如何通过滑动切换页面?
6704浏览 • 1回复 待解决
TabList find返回总为null的问题请教
7595浏览 • 5回复 待解决
minCompatibleVersionCode 这个怎么配置?
3650浏览 • 1回复 待解决
定义一个类,怎么在新建这个类的时候,只赋值这个类中某几个属性
1726浏览 • 1回复 待解决
在继承FractionAbility声明定义TabList在layout中显示不出来
6944浏览 • 3回复 待解决
这个swipe事件怎么写啊?
9852浏览 • 2回复 待解决
HarmonyOS thirdparty/FFmpeg这个库的使用指导
22浏览 • 1回复 待解决
HarmonyOS 类似onactivity result这个功能 在Harmony OS中推荐怎么实现?
456浏览 • 1回复 待解决
请问js2java-codegen这个工具,java中的异步方法结果怎么回传?
6276浏览 • 1回复 待解决
HarmonyOS 使用相机Picker拍照后,读取相片提示无权限,这个要怎么处理
31浏览 • 1回复 待解决
HarmonyOS 定义组件TabList,在一个页面同时使用两个时出现问题
493浏览 • 1回复 待解决
JS API 中 web组件 怎么使用
5381浏览 • 1回复 待解决
HarmonyOS RN库里面怎么使用这个环境变量,宿主app如何去设置?
235浏览 • 1回复 待解决
Tablist 点击超出部分的tab触发点击事件 但是整个列表会自动跳回到最前面 请问怎么解决?
5288浏览 • 1回复 待解决
请问js input组件中的search、share方法怎么使用的?
2136浏览 • 1回复 待解决
有大佬知道怎么解决这个问题吗?
6195浏览 • 1回复 待解决
鸿蒙的应用开发工具这个DevEco Studio怎么升级?
6571浏览 • 1回复 待解决
使用预览器报这个错的原因是?
4490浏览 • 1回复 待解决
mysql 删除一条数据后显示这个,大佬们这个怎么解决?
2338浏览 • 1回复 待解决
HarmonyOS RN中怎么组件怎么导出常量给JS侧使用
24浏览 • 1回复 待解决
Kafka的偏移量含义是什么?怎么理解这个概念?
2172浏览 • 1回复 待解决
HarmonyOS 怎么检测手机这个wifi代理是否开启
54浏览 • 1回复 待解决
可参考如下代码:
public void setTabIcon(TabList.Tab tab) {
//ResourceTable.Media_icon 为项目图片资源ID,通过resourceID获取PixelMap对象
Optional<PixelMap> pixelMapOptional = createPixelMapByResId(ResourceTable.Media_icon);
//创建PixelMapElement对象
PixelMapElement bitmapDrawable = new PixelMapElement(pixelMapOptional.get());
//给tab设置IconElement
tab.setIconElement(bitmapDrawable);
}
public Optional<PixelMap> createPixelMapByResId(int resourceId) {
ResourceManager manager = this.getContext().getResourceManager();
if (manager == null) {
return Optional.empty();
}
try (Resource resource = manager.getResource(resourceId)) {
if (resource == null) {
return Optional.empty();
}
ImageSource.SourceOptions srcOpts = new ImageSource.SourceOptions();
srcOpts.formatHint = "image/png";
ImageSource imageSource = ImageSource.create(readResource(resource), srcOpts);
if (imageSource == null) {
return Optional.empty();
}
ImageSource.DecodingOptions decodingOpts = new ImageSource.DecodingOptions();
decodingOpts.desiredSize = new Size(0, 0);
decodingOpts.desiredRegion = new Rect(0, 0, 0, 0);
decodingOpts.desiredPixelFormat = PixelFormat.ARGB_8888;
return Optional.of(imageSource.createPixelmap(decodingOpts));
} catch (NotExistException | IOException e) {
return Optional.empty();
}
}
private byte[] readResource(Resource resource) {
final int bufferSize = 1024;
final int ioEnd = -1;
byte[] byteArray;
byte[] buffers = new byte[bufferSize];
try (ByteArrayOutputStream output = new ByteArrayOutputStream()) {
while (true) {
int readLen = resource.read(buffers, 0, bufferSize);
if (readLen == ioEnd) {
byteArray = output.toByteArray();
break;
}
output.write(buffers, 0, readLen);
}
} catch (IOException e) {
return new byte[0];
}
return byteArray;
}