91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙ArkTS+ArkUI仿微信通訊錄頁面制作【1】

張?jiān)?/a> ? 來源:jf_51656278 ? 作者:jf_51656278 ? 2025-06-30 18:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

先看效果圖

這個(gè)頁面的核心問題在于右邊的字母索引功能的實(shí)現(xiàn),右邊這個(gè)組件AlphabetIndexer,說實(shí)話我覺得這是文檔的一個(gè)bug,完全沒有給他命名,如果要搜都不知道怎么去搜,他是在ArkUI文檔的信息展示里的第一個(gè)(因?yàn)榘醋帜概判颍俜降拿枋鍪恰翱梢耘c容器組件聯(lián)動(dòng)用于按邏輯結(jié)構(gòu)快速定位容器顯示區(qū)域的組件。”,這么去描述倒是也沒問題……但是我真的為了找這個(gè)組件翻了很久的文檔。

首先我們還是先通過interface來定義數(shù)據(jù)的規(guī)范,在model文件夾里創(chuàng)建一個(gè)_Contact.ets文件,通過觀察頁面可以看到,我們這里并沒有用聯(lián)系人的頭像,而是用了每個(gè)聯(lián)系的第一個(gè)字。具體分組的時(shí)候,是按照第一個(gè)字的首字母分組,然后每個(gè)組里就是對(duì)應(yīng)的人名。所以這個(gè)數(shù)據(jù)規(guī)范的話,首先是一個(gè)組名(按照A-Z的字符串),然后是一個(gè)全是姓名也就是字符串的數(shù)組,對(duì)應(yīng)的代碼如下:

export interface Contact{
  group:string;
  namesList:string[];
}

然后data文件夾里創(chuàng)建一個(gè)_Contact.ets用來放置測(cè)試用的模擬數(shù)據(jù),這個(gè)頁面也要先從modal里import對(duì)應(yīng)的數(shù)據(jù)規(guī)范,具體代碼如下

import {Contact} from '../model/_Contact'
export const contactListArr:Contact[] = [
  {group:'A',namesList:['A1','A','愛','A麥子','安琪','A2']},
  {group:'B',namesList:['白白','冰藍(lán)']},
  {group:'C',namesList:['晨曦','赤焰','初雪','蒼月','彩蝶']},
  {group:'D',namesList:['黛玉','丹青','冬陽','獨(dú)舞','斷橋']},
  {group:'E',namesList:['恩熙','風(fēng)鈴','飛鴻','梵音','繁星']},
];

以上代碼只寫了部分的測(cè)試數(shù)據(jù),只是從A-E,那么實(shí)際項(xiàng)目中,我們其實(shí)還需要對(duì)從后端獲取的數(shù)據(jù)進(jìn)行處理、分組。因?yàn)槟阍诒4嬗脩魯?shù)據(jù)的時(shí)候,不可能讓用戶自己去輸入自己的第一個(gè)字的首字母的,沒有哪個(gè)項(xiàng)目是這么做的。如何獲取第一個(gè)字的首字母,后面我會(huì)單獨(dú)出一個(gè)三方庫來演示實(shí)現(xiàn)。

然后我們?nèi)プ鲞@個(gè)頁面
首先是通過import,把前面設(shè)置好的數(shù)據(jù)規(guī)范和測(cè)試數(shù)據(jù)import進(jìn)來,并進(jìn)行賦值
代碼如下:

import {Contact} from '../model/_Contact'
import {contactListArr} from '../data/_Contact'
contactListArr:Contact[] = contactListArr

然后定義一下字母列表,即有哪些字母

alphabets: string[] = ['A', 'B', 'C', 'D', 'E', 'F', 'G',
    'H', 'I', 'J', 'K', 'L', 'M', 'N',
    'O', 'P', 'Q', 'R', 'S', 'T', 'U',
    'V', 'W', 'X', 'Y', 'Z'];

接著定義一下控制器,因?yàn)辄c(diǎn)擊右邊的AlphabetIndexer組件后,左邊的列表會(huì)同步滾動(dòng)到對(duì)應(yīng)字母的組的位置,所以對(duì)于List組件是要加一個(gè)控制器的,代碼如下:

scroller:Scroller = new Scroller();

再然后,我們可以看到,每個(gè)名字前面都有一個(gè)圓形,里面顯示的是姓名的第一個(gè)字,這里不是簡(jiǎn)單的[0]去獲取第一個(gè)字符,因?yàn)槿绻亲帜傅脑挘怯锌赡転樾懙模绻切懙淖帜福鸵D(zhuǎn)成大寫字母來顯示,如果直接[0]的話,是沒辦法區(qū)分中文英文的,就做不到這個(gè)小寫字母轉(zhuǎn)大寫的操作,這里的話,是用charAt……那為什么用charAt不用[0]呢……因?yàn)槿f一有的人的名字是空呢……charAt還能返回空,[0]就直接undefined了……再通過正則判斷是不是英文,是的話轉(zhuǎn)大寫,具體代碼如下:

getInitial(name:string):string{
    if (name.length === 0) return '';
    const firstChar = name.charAt(0);
    if (/[a-zA-Z]/.test(firstChar)) {
      return firstChar.toUpperCase();
    }
    return firstChar;
  }

……
后續(xù)代碼請(qǐng)看下一篇

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 鴻蒙
    +關(guān)注

    關(guān)注

    60

    文章

    2617

    瀏覽量

    44030
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于鴻蒙Next模擬電話通訊錄及電話撥打

    一、介紹 基于鴻蒙Next模擬電話通訊錄,可以撥打電話,刪除電話等二、場(chǎng)景需求 客戶服務(wù)、業(yè)務(wù)咨詢、回訪處理、溝通交流、信息交流等等 三、業(yè)務(wù)步驟 第一步:點(diǎn)擊撥打點(diǎn)電話,先判斷設(shè)備是否具備通訊能力
    發(fā)表于 08-27 15:24

    HarmonyOS NEXT 原生應(yīng)用開發(fā):社交通訊錄界面實(shí)現(xiàn)

    一、案例想法 本DEMO展示了如何在HarmonyOS NEXT平臺(tái)上,使用ArkTS開發(fā)語言構(gòu)建一個(gè)簡(jiǎn)單的社交通訊錄界面。用戶可以在此界面上瀏覽聯(lián)系人列表,每個(gè)聯(lián)系人條目包含姓名、電話號(hào)碼以及一個(gè)
    發(fā)表于 01-09 14:37

    鴻蒙ArkTS+ArkUI仿消息列表頁制作

    ? 先放一下頁面效果: 第一步我們先定義一下數(shù)據(jù)格式,創(chuàng)建一個(gè)數(shù)據(jù)模型,通過圖片,可以看到每一條數(shù)據(jù)的字段應(yīng)當(dāng)包括:頭像,姓名,最新消息內(nèi)容和最新消息的時(shí)間,創(chuàng)建一個(gè)model文件夾,然后在里面新建
    發(fā)表于 06-30 18:28

    設(shè)計(jì)手機(jī)通訊錄

    求大神請(qǐng)教,如何設(shè)計(jì)手機(jī)上的通訊錄,要求是什么?
    發(fā)表于 11-15 00:18

    如何去掉通訊錄的APK?

    如何去掉通訊錄的APK?
    發(fā)表于 03-03 07:02

    企業(yè)通訊錄app源碼

    企業(yè)通訊錄app源碼這是android 上的源碼。
    發(fā)表于 03-28 10:02 ?23次下載

    蘋果手機(jī)咋備份通訊錄,如何導(dǎo)出手機(jī)通訊錄聯(lián)系人?

    掃描結(jié)束后,進(jìn)入到下個(gè)界面,這個(gè)界面是數(shù)據(jù)項(xiàng)恢復(fù)的主界面,在這里我們可以對(duì)通訊錄,備忘,短信等其他數(shù)據(jù)項(xiàng)進(jìn)行恢復(fù)。
    發(fā)表于 07-23 22:13 ?2033次閱讀
    蘋果手機(jī)咋備份<b class='flag-5'>通訊錄</b>,如何導(dǎo)出手機(jī)<b class='flag-5'>通訊錄</b>聯(lián)系人?

    企業(yè)節(jié)能更厚味-智慧能源通訊錄

    ,廣告置頂,收取廣告費(fèi)。4.高耗能企業(yè)人員免費(fèi)加入。5.需要打賞通訊錄可根據(jù)情況適可而止。通訊錄:http://qun.hk/l/OFFh5k4n主頁:http://hh.ruiec.com能源管控系統(tǒng)開發(fā)
    發(fā)表于 03-30 20:10 ?512次閱讀

    如何恢復(fù)蘋果通訊錄

    蘋果通訊錄恢復(fù)方法
    的頭像 發(fā)表于 08-26 16:38 ?3953次閱讀

    基于openharmony適配移植的仿通訊錄UI顯示控件

    項(xiàng)目介紹 項(xiàng)目名稱:RoundedLetterView 所屬系列:openharmony的第三方組件適配移植 功能:RoundedLetterView是一個(gè)仿通訊錄UI顯示的控件 項(xiàng)目移植狀態(tài):主
    發(fā)表于 03-30 09:39 ?2次下載

    C語言程序設(shè)計(jì)--通訊錄系統(tǒng)

    本題目設(shè)計(jì)目的是訓(xùn)練學(xué)生的基本編程能力,了解通訊錄系統(tǒng)的開發(fā)流程,熟悉C語言的數(shù)組和函數(shù)的各種基本操作。本程序中涉及結(jié)構(gòu)體、數(shù)組、函數(shù)等方面的知識(shí)。通過本程序的訓(xùn)練,使學(xué)生能對(duì)C語言的文件操作有一個(gè)
    發(fā)表于 04-10 09:17 ?8次下載

    基于Android系統(tǒng)手機(jī)通訊錄管理軟件的設(shè)計(jì)與開發(fā)

    電子發(fā)燒友網(wǎng)站提供《基于Android系統(tǒng)手機(jī)通訊錄管理軟件的設(shè)計(jì)與開發(fā).doc》資料免費(fèi)下載
    發(fā)表于 10-30 10:09 ?0次下載
    基于Android系統(tǒng)手機(jī)<b class='flag-5'>通訊錄</b>管理軟件的設(shè)計(jì)與開發(fā)

    基于Android平臺(tái)的手機(jī)通訊錄管理系統(tǒng)

    電子發(fā)燒友網(wǎng)站提供《基于Android平臺(tái)的手機(jī)通訊錄管理系統(tǒng).doc》資料免費(fèi)下載
    發(fā)表于 10-30 10:13 ?0次下載
    基于Android平臺(tái)的手機(jī)<b class='flag-5'>通訊錄</b>管理系統(tǒng)

    基于Android平臺(tái)的個(gè)性通訊錄

    電子發(fā)燒友網(wǎng)站提供《基于Android平臺(tái)的個(gè)性通訊錄.doc》資料免費(fèi)下載
    發(fā)表于 10-30 11:32 ?0次下載
    基于Android平臺(tái)的個(gè)性<b class='flag-5'>通訊錄</b>

    鴻蒙ArkTS+ArkUI仿通訊錄頁面制作【2】

    :string):string{ const colors = [ '#FF9AA2' , '#FFB7B2' , '#FFDAC1' , '#E2F0CB' , '#B5EAD7
    的頭像 發(fā)表于 07-01 11:45 ?100次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS+ArkUI</b><b class='flag-5'>仿</b><b class='flag-5'>微</b><b class='flag-5'>信</b><b class='flag-5'>通訊錄</b><b class='flag-5'>頁面</b><b class='flag-5'>制作</b>【2】
    主站蜘蛛池模板: 午夜操| 色综合天天综合网看在线影院 | 四虎永久在线观看免费网站网址 | 国产最好的精华液网站 | 在线播放网址 | 新网球王子u17世界杯篇免费观看 | 一级特黄性生活大片免费观看 | 久久久www免费人成看片 | 免费一级毛片女人图片 | 欧美色人阁| 日韩成人毛片高清视频免费看 | 羞涩妩媚玉腿呻吟嗯啊销魂迎合 | 精品三级视频 | 亚洲一区二区三区播放在线 | 免费高清特级毛片 | 手机看片1024福利 | 国产一卡二卡3卡4卡四卡在线 | bt在线天堂 | 69 hd xxxx日本| 毛片免费网 | 夜夜骑首页 | 四虎884tt紧急大通知 | 天天操夜夜操免费视频 | 国产精品毛片天天看片 | 国产一区在线mmai | 日本三级a | 日本乱理论片免费看 | 婷婷六月综合网 | 靓装爱神12丝袜在线播放 | 1024毛片基地 | 波多野结衣三个女人蕾丝边 | 一级毛片在线免费视频 | 好大好紧好爽好湿润视频 | 中国业余老太性视频 | 久久99精品久久久久久牛牛影视 | 欧美精品xx | 黄色网址中文字幕 | 国产高清视频在线免费观看 | 欧美影院一区二区三区 | 久久久美女视频 | 四虎影院在线免费 |