女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

張越 ? 來源:jf_51656278 ? 作者:jf_51656278 ? 2025-07-01 11:45 ? 次閱讀
加入交流群

掃碼添加小助手

加入工程師交流群

繼續先放一下效果圖

然后繼續上一篇文章的內容,上一次我們講到如何去獲取每個人名字的第一個字,接下來講一下如何設置每個名字之前的那個圓的背景色
先放一下代碼:

getAvatarColor(name:string):string{
    const colors = [
      '#FF9AA2', '#FFB7B2', '#FFDAC1', '#E2F0CB', '#B5EAD7',
      '#C7CEEA', '#A8E6CF', '#FFD3A5', '#FD9644', '#9BB5FF',
      '#98D8C8', '#F7DC6F', '#BB8FCE', '#85C1E9', '#F8C471'
    ];
    const index = name.charCodeAt(0) % colors.length;
    return colors[index];
  }

name.charCodeAt(0) 方法用于獲取 name 字符串的第一個字符的 Unicode 編碼。例如,如果 name 是 "Apple",那么 name.charCodeAt(0) 將返回字符 'A' 的 Unicode 編碼(65)。
colors.length 表示 colors 數組的長度,這里是 15。
% 是取模運算符,用于計算 name.charCodeAt(0) 除以 colors.length 的余數。這個余數將作為 colors 數組的索引,確保索引值在 0 到 colors.length - 1 的范圍內。例如,如果 name.charCodeAt(0) 是 65,colors.length 是 15,那么 65 % 15 的結果是 5,這意味著 index 的值為 5。所以說,每一個字符都能找到其專屬的一個顏色,而不用搞隨機數,也能保證視覺效果的一致性。

然后要先設置基本的UI,通過List + ListItemGroup + ListItem來實現,一般項目里我們很少用到ListItemGroup,但是因為這里我們在滾動的時候,是按照首字母為一個組進行滾動的,并且每一組上面都有一個字母作為“標題”,所以使用ListItemGroup更加方便,代碼如下:

List({scroller:this.scroller}){
          //聯系人列表
          ForEach(this.contactListArr,(val:Contact)= >{
            ListItemGroup({header:this.HeaderGroupItem(val.group)}){
              ForEach(val.namesList,(name:string)= >{
                ListItem(){
                  Row(){
                    //頭像
                    Column(){
                      Text(this.getInitial(name))
                        .fontSize(16)
                        .fontWeight(FontWeight.Medium)
                        .fontColor('#ffffff')
                    }.width(45).height(45).backgroundColor(this.getAvatarColor(name)).borderRadius(22.5).justifyContent(FlexAlign.Center).margin({right:16}).shadow({
                      radius:4,color:'#00000015',offsetX:0,offsetY:2
                    })
                    //姓名
                    Text(name)
                      .fontSize(16)
                      .fontColor('#1a1a1a')
                      .layoutWeight(1)
                    //右箭頭
                    Text(' >')
                      .fontSize(16)
                      .fontColor('#c7c7cc')
                  }.width('100%').padding({left:20,right:20,top:12,bottom:12}).alignItems(VerticalAlign.Center).backgroundColor('#ffffff').onClick(()= >{
                    console.log(`點擊了聯系人: ${name}`)
                  })
                }
              })
            }
          })
        }.backgroundColor('#f5f5f5').divider({
          strokeWidth:0.5,color:'#f0f0f0',startMargin:81,endMargin:20
        }).onScrollIndex((start)= >{
          this.currentIndex = start;
        }).layoutWeight(1)

接下來是AlphabetIndexer組件,我們先貼一下代碼,然后再詳細講解里面的各個屬性

AlphabetIndexer({arrayValue:this.alphabets,selected:this.currentIndex})
          .autoCollapse(false)
          .selectedColor('#007AFF')
          .itemSize(20)
          .popupBackground('#ffffff')
          .usingPopup(true)
          .alignStyle(IndexerAlign.Right)
          .popupFont({size:24,weight:FontWeight.Medium})
          .selectedFont({size:14,weight:FontWeight.Medium})
          .font({size:12})
          .itemBorderRadius(10)
          .popupPosition({x:30,y:0})
          .margin({right:12})
          .popupItemBorderRadius(8)
          .popupSelectedColor('#007AFF')
          .popupUnselectedColor('#8e8e93')
          .onSelect((index)= >{
            this.scroller.scrollToIndex(index)
          })

autoCollpase是是否自適應折疊模式,在api12以后,這個值默認為true,即自適應折疊模式,因為我們現在是26個英文字母,所以按照文檔里的說法,是會默認折疊的。
usingPopup代表的是是否默認顯示彈窗,也就是比如說你點了右邊的A以后,會有一個彈窗來顯示你當前點擊的是“A”
popupPosition就是代表的這個彈窗的位置,具體位置是相對于索引條上邊框中點的位置。但是這里和普通的position有點不太一樣……普通的坐標軸是往左往上是負值,這里的是往左和往下是正值
然后是onSelect,也就是選中后,那么讓滾動的控制器滾動到對應的ListItemGroup即可,因為26個英文字母都有自己對應的Group
最后,要注意這個List組件和AlphabetIndexer組件需要放在同一個stack組件里,采用堆疊容器

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Unicode
    +關注

    關注

    0

    文章

    25

    瀏覽量

    12724
  • 鴻蒙
    +關注

    關注

    59

    文章

    2594

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    仿登錄頁面制作

    還涉及到一個TextInput占位符的問題,可以從頁面中看到,占位符的顏色明顯和旁邊的文字顏色不同,那么如果直接設置fontColor的話,設置的是輸入的文字的顏色而不是占位符的顏色,對于
    發表于 06-30 18:25

    ArkUI介紹

    ArkUI(方舟UI框架)為應用的UI開發提供了完整的基礎設施,包括簡潔的UI語法、豐富的UI功能(組件、布局、動畫以及交互事件),以及實時界面預覽工具等,可以支持開發者進行可視化界面開發
    發表于 06-24 06:41

    ArkUI-X平臺橋接Bridge說明

    傳遞數據,如傳遞JSON數據、圖片等; 2ArkUI側調用平臺的API,如獲取Android或iOS平臺上的電池電量、復用平臺上的三方庫等; 3、平臺調用ArkUI側的方法,如復用JavaScript
    發表于 06-19 23:12

    ArkUI-X跨平臺技術落地-華為運動健康(一)

    的設計策略: 1.運動健康首頁歷史邏輯復雜,涉及的模塊多并且改造包袱重,仍使用原生頁面native開發技術。 2.在運動健康內部的二級頁面(如心臟健康、睡眠等頁面)使用
    發表于 06-18 22:53

    ArkUI-X與Android聯動編譯開發指南

    ArkTS產物到Android工程中。 其功能主要包括: 1.手動配置編譯ArkTS源碼開關 2.手動配置編譯module 3.手動配置文件輸出路徑 編譯配置說明 配置編譯ArkTS
    發表于 06-16 22:55

    鴻蒙5開發寶藏案例分享---Web頁面內點擊響應時延分析

    鴻蒙Web性能優化寶藏指南!那些官方沒明說的實戰技巧 各位鴻蒙開發者好!最近在排查Web頁面卡頓時,意外在HarmonyOS開發者文檔里挖到性能優化的寶藏案例!這些實戰經驗藏在「應用質量 &
    發表于 06-12 17:09

    ArkUI-X添加到現有Android項目中

    本教程主要講述如何利用ArkUI-X SDK完成Android AAR開發,實現基于ArkTS的聲明式開發范式在android平臺顯示。包括: 1.跨平臺Library工程開發介紹 2.AAR在
    發表于 06-04 22:35

    ArkUI-X添加到現有Android項目中

    本教程主要講述如何利用ArkUI-X SDK完成Android AAR開發,實現基于ArkTS的聲明式開發范式在android平臺顯示。包括: 1.跨平臺Library工程開發介紹 2.AAR在
    發表于 05-28 22:44

    Get這個秘籍,鴻蒙原生應用頁面滑動絲滑無比

    鴻蒙應用開發中,部分應用頁面在滑動時會出現白塊或白屏的問題,不僅困擾開發者,還直接影響用戶體驗。針對這一痛點,華為近期分別推出了針對鴻蒙原生應用ArkUI
    發表于 03-06 14:41

    HarmonyOS NEXT 原生應用開發:社交通訊錄界面實現

    一、案例想法 本DEMO展示了如何在HarmonyOS NEXT平臺上,使用ArkTS開發語言構建一個簡單的社交通訊錄界面。用戶可以在此界面上瀏覽聯系人列表,每個聯系人條目包含姓名、電話號碼以及一個
    發表于 01-09 14:37

    鴻蒙原生開發手記:01-元服務開發

    簡介 元服務是鴻蒙中的一種輕量應用形態,無需下載,直接運行。類似于小程序,但與小程序不同的是,元服務更加輕量。 元服務使用原生開發,是系統級提供的,無論從易用性、性能、體驗上,都要比小程序好
    發表于 11-14 17:28

    鴻蒙系統專用版信內測即將啟動

    近日,有知情人士稱鴻蒙系統專用版的開發工作現已基本完成。這一消息標志著在適配鴻蒙系統方面
    的頭像 發表于 11-07 10:58 ?1453次閱讀

    鴻蒙Flutter實戰:06-使用ArkTs開發Flutter鴻蒙插件

    # 使用 ArkTs 開發 Flutter 鴻蒙平臺插件 本文講述如何開發一個 Flutter 鴻蒙插件,如何實現 Flutter 與鴻蒙的混合開發,以及雙端消息通信。 ## Fl
    發表于 10-22 21:56

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

    一、介紹 基于鴻蒙Next模擬電話通訊錄,可以撥打電話,刪除電話等二、場景需求 客戶服務、業務咨詢、回訪處理、溝通交流、信息交流等等 三、業務步驟 第一步:點擊撥打點電話,先判斷設備是否具備通訊能力
    發表于 08-27 15:24
    主站蜘蛛池模板: 九寨沟县| 兰溪市| 合江县| 得荣县| 阿勒泰市| 襄樊市| 沈丘县| 海晏县| 北碚区| 西盟| 永嘉县| 金川县| 新源县| 栾城县| 遂昌县| 泸溪县| 洪雅县| 荃湾区| 温州市| 洛宁县| 龙州县| 开江县| 临夏县| 积石山| 齐齐哈尔市| 民权县| 常州市| 庐江县| 宜丰县| 泰安市| 灵石县| 樟树市| 香河县| 阳高县| 景东| 屯昌县| 灵石县| 大邑县| 东兴市| 莱西市| 吴江市|