问题描述:
菜单栏通常通过由icon和文本组成的GridView来实现,创建一个文本和图片的封装类很有必要。
解决方法:
1.通过level-list在drawable目录中创建图片资源
<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:maxLevel="0" android:drawable="@drawable/menu_input_net" />
<item android:maxLevel="1" android:drawable="@drawable/menu_filemanager" />
<item android:maxLevel="2" android:drawable="@drawable/menu_downmanager" />
<item android:maxLevel="3" android:drawable="@drawable/menu_refresh" />
<item android:maxLevel="4" android:drawable="@drawable/menu_fullscreen" />
<item android:maxLevel="5" android:drawable="@drawable/menu_novel_mode" />
<item android:maxLevel="6" android:drawable="@drawable/menu_adapter_screen" />
<item android:maxLevel="7" android:drawable="@drawable/menu_search" />
<item android:maxLevel="8" android:drawable="@drawable/menu_bookmark" />
<item android:maxLevel="9" android:drawable="@drawable/menu_add_to_bookmark" />
<item android:maxLevel="10" android:drawable="@drawable/menu_quit" />
<item android:maxLevel="11" android:drawable="@drawable/menu_more" />
</level-list>
2.创建封装类MenuItemData
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LevelListDrawable;
public class MenuItemData {
private LevelListDrawable mLevelListDrawable;
private String mTitle[];
private int mCount;
public MenuItemData(LevelListDrawable levelListDrawable, String titleID[],
int count) {
mLevelListDrawable = levelListDrawable;
mTitle = title;
mCount = count;
}
public String getTitle(int index) {
return mTitle[index];
}
public Drawable getDrawable(int index) {
mLevelListDrawable.setLevel(index);
Drawable drawable = mLevelListDrawable.getCurrent();
return drawable;
}
public int getCount() {
return mCount;
}
}
3.得到文本和图片
String[] menuName = getResources().getStringArray(
R.array.menu_item_name);
LevelListDrawable levelListDrawable = (LevelListDrawable) getResources()
.getDrawable(R.drawable.menu_image_list);
mMenuItemData2 = new MenuItemData(levelListDrawable,menuName,menuName.length);
分享到:
相关推荐
在本文中,我们将深入探讨如何在Vue3框架中封装一个基于TinyMCE的富文本编辑器组件,并且重点介绍如何实现自定义样式和汉化配置。TinyMCE是一款功能强大的开源富文本编辑器,它提供了丰富的API和插件,使得在前端...
在"element上传图片,上传文件,以及富文本封装"这个主题中,我们将深入探讨 Element UI 如何帮助开发者实现图片上传、文件上传以及富文本编辑功能。 1. **Element UI 的图片上传组件**: - `el-upload`是 Element...
在iOS开发中,掌握一些关键的设计模式和技术是至关重要的,本Demo涵盖了四个核心知识点:MVVM、图片选择封装、富文本封装以及引导动画。接下来,我们将深入探讨这四个方面的内容。 首先,MVVM(Model-View-...
在VC++编程环境中,图像处理是一项常见的任务,而有效地封装图片操作可以提高代码的复用性和可维护性。"VC 图片封装 类 C++"这个主题涉及到如何在C++中创建一个类来处理图片,包括加载、显示、保存以及可能的转换和...
总结来说,Tinymce富文本编辑器的封装是一个集成了编辑器基本功能设置、个性化配置、事件处理以及可能的插件集成的过程,目的是为了让它更好地服务于特定的Web应用。通过深入理解和灵活运用,开发者可以构建出满足...
通常,我们熟悉的剪贴板操作涉及到文本、图片等简单数据类型,但其实剪贴板还可以处理更复杂的数据,包括非文本数据。本教程将深入探讨如何在编程中获取剪贴板中的非文本数据。 标题“取剪贴板非文本数据.rar”暗示...
这个问题困扰了不少开发者,究其原因,主要在于富文本编辑器的图片上传插件对于返回数据结构有着严格要求,开发者必须按照规定的格式返回数据,否则就会出现图片上传成功但无法回显的情况。 为了解决这个问题,...
在iOS开发中,网络请求是应用与服务器交互的基础,用于获取、发送数据。...在实际使用时,只需按照封装好的接口调用,即可轻松完成数据请求,无论是简单的文本信息还是复杂的图片数据,都能得心应手。
在C#程序中,嵌入式资源是指将非代码数据(如图片、文本文件等)直接编译进可执行文件(exe或dll)中,这些资源可以在运行时通过程序内部的API进行访问和使用。 要将jpg图片封装到exe文件,你需要遵循以下步骤: 1...
本话题聚焦于如何通过自定义组件来展示HTML富文本内容,包括图片、视频和音频的展示与播放。以下是对这个主题的详细阐述: 一、uni-app自定义组件 uni-app是一个多端开发框架,它允许开发者编写一次代码,即可跨H5...
在Aardio中,有现成的封装库用于处理剪贴板操作,包括同时处理文本和图片的功能。使用这类库,开发者可以轻松地在Aardio程序中实现复杂的剪贴板操作,而无需深入理解底层的API细节。 在"add-...
首先,需要添加对Excel的引用,然后创建Excel Application实例,打开一个新的工作簿,并将图片数据复制到工作簿的特定单元格。 以下是实现这个功能的基本步骤: 1. **创建Excel对象**:创建`Application`和`...
本文将深入探讨如何使用Java技术实现“富文本PDF转图片Image”以及“图片Image转PPT”的过程,结合一个基于Spring Web的示例项目进行阐述。 首先,我们要解决的是“富文本PDF转图片Image”。在Java中,可以借助...
9. **数据保存与恢复**: tinymce可以将编辑的内容保存为HTML格式,封装时需要考虑如何与后端接口进行数据交换,以及如何实现内容的恢复。 10. **错误处理**:在封装过程中,需要考虑错误处理机制,确保在tinymce...
该项目为基于Python和Django框架的二次封装设计源码,总文件量达80个,涵盖68个Python源文件、4个文本文件、3个图片文件以及少量其他文件类型。由陈平制作,旨在优化Django数据封装流程。
本实验主要使用GD库、函数的封装和调用实现图片和base64编码数据流的转化,通过本案例转换后得到的base64编码字符串,可以存放到数据库中,需要时可以直接从数据库中读取,减少访问图片时的请求数量。
2. **数据文件**:如`icudtl.dat`,包含国际化和本地化数据,用于支持不同语言和区域的文本渲染。 3. **图形库**:如`libEGL.dll`和`libGLESv2.dll`,是OpenGL ES的实现,用于图形渲染;`d3dcompiler_47.dll`则是...
HTTP(超文本传输协议)是一种无状态的应用层协议,基于TCP/IP通信协议来交换各类数据。常见的HTTP请求方法有GET和POST,GET用于获取资源,而POST用于向服务器提交数据。 GET请求通常用于获取静态数据,其参数包含...
1. **数据模型**:定义一个结构体或类来存储数据,如`CellModel`,它包含显示在单元格中的所有信息,如文本、图片、自定义属性等。 2. **数据绑定**:实现一个方法,接受数据数组并将其映射到`CellModel`,以便在...
4. **响应处理**:封装包会处理HTTP响应,包括状态码检查、数据解析(JSON、文本等格式),以及错误处理机制,简化了开发者对网络请求结果的处理。 5. **拦截器**:拦截器是`axios`的一个重要特性,鸿蒙版封装包...