HarmonyOSAPP开发category list模板体验分享 原创

鸿蒙时代
发布于 2021-7-4 10:17
浏览
1收藏

一、样式与功能

项目名称: jltf_template
项目语言: JAVA
module:category list
体验模板:category list
工具:deveco studio

效果如下
HarmonyOSAPP开发category list模板体验分享-鸿蒙开发者社区

二、主要流程与核心代码

第一步 建立项目
新建一个java的应用项目
然后构建完成项目后在jltf_template下new->module
HarmonyOSAPP开发category list模板体验分享-鸿蒙开发者社区
HarmonyOSAPP开发category list模板体验分享-鸿蒙开发者社区
选择phone下的category list模板
HarmonyOSAPP开发category list模板体验分享-鸿蒙开发者社区
第二步 修改数据

该项目通过customData类的数组决定联系人的数量,变量决定联系人的内容,可以先添加一个数组或者类存储联系人信息
HarmonyOSAPP开发category list模板体验分享-鸿蒙开发者社区

由于联系人不是以模板的变量模式存储,也需要修改getCustomData的数据回去以及存储方式
HarmonyOSAPP开发category list模板体验分享-鸿蒙开发者社区

第三步
登录你的账号然后启动模拟器即可实现效果

部分代码(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

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
标签
category list 模板体验.zip 449.47K 7次下载
3
收藏 1
回复
举报
2条回复
按时间正序
/
按时间倒序
Anzia
Anzia

最后那部分代码的for循环遍历数据和switch用的巧妙!

回复
2021-7-4 13:11:34
鸿蒙时代
鸿蒙时代

这个是基本上绝大部分APP要用到的界面,我们主要是测试体验了IDE里自带的模板,进行了一些实际应用的改造升级,你说的那个部分,大家都可以快速上手的。

回复
2021-7-4 19:02:46
回复
    相关推荐