HarmonyOSAPP开发category list模板体验分享 原创
一、样式与功能
项目名称: jltf_template
项目语言: JAVA
module:category list
体验模板:category list
工具:deveco studio
效果如下
二、主要流程与核心代码
第一步 建立项目
新建一个java的应用项目
然后构建完成项目后在jltf_template下new->module
选择phone下的category list模板
第二步 修改数据
该项目通过customData类的数组决定联系人的数量,变量决定联系人的内容,可以先添加一个数组或者类存储联系人信息
由于联系人不是以模板的变量模式存储,也需要修改getCustomData的数据回去以及存储方式
第三步
登录你的账号然后启动模拟器即可实现效果
部分代码(customData)
public class CustomData {
private static final int[][] CATEGORY_DATA = new int[][]{
{SearchItem.ITEM_TYPE},
{HeadItem.ITEM_TYPE, SingleListItem.ITEM_TYPE},
{HeadItem.ITEM_TYPE, SingleListItem.ITEM_TYPE, SingleListItem.ITEM_TYPE},
{HeadItem.ITEM_TYPE, SingleListItem.ITEM_TYPE, SingleListItem.ITEM_TYPE, SingleListItem.ITEM_TYPE},
};
private static String[] CATEGORY_TEXT={"本人","家人","客户"} ;
private static final String[] SINGLE_LEFT_TEXT = {"张某某","爸爸","妈妈","张总","李总","赵总"};
private static final String SINGLE_RIGHT_TEXT = "17500000000";
/**
* Return some custom data to display.
*
* @param context current context
* @return custom category list
*/
public static List<Category> getCustomData(Context context) {
ArrayList<Category> categoryList = new ArrayList<>();
for (int i = 0; i < CATEGORY_DATA.length; i++) {
int[] items = CATEGORY_DATA[i];
ArrayList<CategoryItemBase> itemList = new ArrayList<>();
for (int j = 0; j < items.length; j++) {
switch (items[j]) {
case HeadItem.ITEM_TYPE:
itemList.add(CategoryItemFactory.createListItem(context, HeadItem.ITEM_TYPE,
CATEGORY_TEXT [i-1]));
break;
case SingleListItem.ITEM_TYPE:
itemList.add(CategoryItemFactory.createListItem(context, SingleListItem.ITEM_TYPE,
SINGLE_LEFT_TEXT[(i+j-2)], SINGLE_RIGHT_TEXT));
break;
case SearchItem.ITEM_TYPE:
itemList.add(CategoryItemFactory.createListItem(context, SearchItem.ITEM_TYPE));
break;
default:
break;
}
}
TestCategory testCategory = new TestCategory(context, itemList, i);
categoryList.add(testCategory);
}
return categoryList;
}
}
三、完整代码地址
https://gitee.com/jltfcloudcn/jump_to/tree/master/categaryList
最后那部分代码的for循环遍历数据和switch用的巧妙!
这个是基本上绝大部分APP要用到的界面,我们主要是测试体验了IDE里自带的模板,进行了一些实际应用的改造升级,你说的那个部分,大家都可以快速上手的。