TabList中的setIconElement 这个怎么使用?
TabList中的setIconElement 这个怎么使用?
鸿蒙
HarmonyOS
TabList
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS router.pushNamedRoute这个API是怎么使用的?
108浏览 • 2回复 待解决
TabList可以添加图片么?
7739浏览 • 3回复 待解决
定义一个类,怎么在新建这个类的时候,只赋值这个类中某几个属性
1542浏览 • 1回复 待解决
minCompatibleVersionCode 这个怎么配置?
3496浏览 • 1回复 待解决
鸿蒙tablist 如何通过滑动切换页面?
6451浏览 • 1回复 待解决
HarmonyOS 类似onactivity result这个功能 在Harmony OS中推荐怎么实现?
266浏览 • 1回复 待解决
这个swipe事件怎么写啊?
9627浏览 • 2回复 待解决
TabList find返回总为null的问题请教
7323浏览 • 5回复 待解决
请问js2java-codegen这个工具,java中的异步方法结果怎么回传?
6017浏览 • 1回复 待解决
在继承FractionAbility声明定义TabList在layout中显示不出来
6810浏览 • 3回复 待解决
JS API 中 web组件 怎么使用
5152浏览 • 1回复 待解决
使用预览器报这个错的原因是?
4130浏览 • 1回复 待解决
请问js input组件中的search、share方法怎么使用的?
1933浏览 • 1回复 待解决
nginx中的location ~ .*,请问这个.*是什么意思?
2022浏览 • 1回复 待解决
鸿蒙的应用开发工具这个DevEco Studio怎么升级?
6198浏览 • 1回复 待解决
mysql 删除一条数据后显示这个,大佬们这个怎么解决?
2195浏览 • 1回复 待解决
有大佬知道怎么解决这个问题吗?
5968浏览 • 1回复 待解决
Kafka的偏移量含义是什么?怎么理解这个概念?
1980浏览 • 1回复 待解决
@Extend @Styles 这种声明成全局的,怎么样才能在别的文件中也是用这个全局样式呢
231浏览 • 1回复 待解决
HarmonyOS 怎么在编辑器中把这个像素大小比例不变的图片用vp单位写出来
246浏览 • 1回复 待解决
HarmonyOS 定义组件TabList,在一个页面同时使用两个时出现问题
276浏览 • 1回复 待解决
点击一个list的item,怎么给这个item添加class
5791浏览 • 1回复 待解决
在openharmony中 ENABLE_ROSEN_BACKEND 这个宏控制的是什么功能的?
5295浏览 • 1回复 待解决
UI界面中用@state绑定的变量,在逻辑代码中class中做了修改,怎么在UI界面察觉到这个@state变量发生了变化
1621浏览 • 1回复 待解决
Tablist 点击超出部分的tab触发点击事件 但是整个列表会自动跳回到最前面 请问怎么解决?
5085浏览 • 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;
}