鴻蒙開發03樣式相關介紹(二)

文章目錄

  • 一、樣式復用
    • 1.1 @Styles修飾符
    • 1.2 @Extend修飾符
  • 二、多態樣式


一、樣式復用

在頁面開發過程中,會出出現大量重復的樣式設置代碼,可以使用@Styles和@Extend修飾符將幫助我們進行樣式復用。

1.1 @Styles修飾符

@Styles裝飾器可以將多條樣式設置提煉成一個方法,直接在組件聲明的位置調用。通過@Styles裝飾器可以快速定義并復用自定義樣式。

@Styles
function payWechatStyle(){.width('100%').height(50).borderRadius(4).backgroundColor("#00c168").onClick(()=>{promptAction.showToast({message: '微信支付成功'})})
}@Entry
@Component
struct StylesCase {@StylespayAliStyle(){.width('100%').height(50).borderRadius(4).backgroundColor("#ff1256e0").onClick(()=>{promptAction.showToast({message: '支付寶支付成功'})})}build() {Column({space: 20}){Row(){Button("微信支付", { type: ButtonType.Normal }).payWechatStyle().fontColor(Color.White)}.padding(20)Row(){Button("支付寶支付", { type: ButtonType.Normal }).payAliStyle().fontColor(Color.White)}.padding(20)Row(){Button("支付寶支付", { type: ButtonType.Normal }).payAliStyle().fontColor(Color.White)}.padding(20)}}
}

使用說明

  • 僅支持通用屬性和通用事件
  • 可以定義在組件內(不需加function)或全局
  • 同時在組件內或全局定義時,組件內生效

限制條件

  • 方法中不能有參數
  • 不支持導出

1.2 @Extend修飾符

@Extend修飾符針對某類組件進行樣式擴展,同樣為了復用樣式。

@Entry
@Component
struct ExtendCase {build() {Column({space: 20}){Button('支付寶支付').payButton('alipay')Button('微信支付').payButton('wechat')}.padding(20).width('100%')}
}@Extend(Button)
function payButton(type: 'alipay'|'wechat'){.type(ButtonType.Normal).fontColor(Color.White).width('100%').height(50).borderRadius(4).backgroundColor(type == 'wechat'? "#00c168" : "#ff1256e0").onClick(()=>{if (type == 'alipay') {promptAction.showToast({message:"支付寶支付成功"})}else{promptAction.showToast({message:"微信支付成功"})}})
}

使用說明

  • 只能定義在全局函數
  • 指定組件,只支持指定組件的私有屬性、私有事件
  • 函數支持傳參

限制條件

  • 不支持導出

二、多態樣式

多態樣式(stateStyles)根據組件內部狀態的不同,快速設置不同樣式。
ArkUI提供五種狀態:

  • focused:獲焦態
  • normal:正常態
  • pressed:按壓態
  • disabled:不可用態
  • selected:選中態
@Entry
@Component
struct StateStylesCase {build() {Column({space: 20}){Row(){Text('你好!鴻蒙')}.padding(20).height(80).border({color: '#f3f4f5',width: 3}).borderRadius(4).stateStyles({normal: {.backgroundColor(Color.White)},pressed: {.backgroundColor('#eee')}}).width('100%')}.padding(20).justifyContent(FlexAlign.Center).width('100%').height('100%')}
}

設置normal和pressed狀態時的背景顏色,按壓時是#eee顏色,松開是白色。

使用說明
多態樣式只支持通用屬性的設置。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/899698.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/899698.shtml
英文地址,請注明出處:http://en.pswp.cn/news/899698.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

裝飾器模式與模板方法模式實現MyBatis-Plus QueryWrapper 擴展

pom <dependency><groupId>com.github.yulichang</groupId><artifactId>mybatis-plus-join-boot-starter</artifactId> <!-- MyBatis 聯表查詢 --> </dependency>MPJLambdaWrapperX /*** 拓展 MyBatis Plus Join QueryWrapper 類&…

05-031-自考數據結構(20331)- 哈希表 - 例題分析

哈希表考題主要涵蓋四大類型:1)函數設計類(如除留余數法計算地址,需掌握質數p的選擇技巧);2)沖突處理類(線性探測法要解決堆積現象,鏈地址法需繪制鏈表結構);3)性能分析類(重點計算ASL,理解裝填因子α的影響規律);4)綜合應用類(如設計ISBN查詢系統,需結合實際問…

rustdesk 自建服務器 key不匹配

請確保id_ed25519文件的權限為&#xff1a; -rw------- 1 root root 88 Apr 31 10:02 id_ed25519在rustdesk安裝目錄執行命令&#xff1a; chmod 700 id_ed25519

Dify 深度集成 MCP實現災害應急響應

一、架構設計 1.1 分層架構 #mermaid-svg-5dVNjmixTX17cCfg {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-5dVNjmixTX17cCfg .error-icon{fill:#552222;}#mermaid-svg-5dVNjmixTX17cCfg .error-text{fill:#552222…

AI與.NET技術實操系列(三):在 .NET 中使用大語言模型(LLMs)

1. 引言 在技術迅猛發展的今天&#xff0c;大語言模型&#xff08;Large Language Models, LLMs&#xff09;已成為人工智能領域的核心驅動力之一。從智能對話系統到自動化內容生成&#xff0c;LLMs的應用正在深刻改變我們的工作與生活方式。對于.NET開發者而言&#xff0c;掌…

一個極簡的詞法分析器實現

文章目錄 推薦&#xff1a;Tiny Lexer - 一個極簡的C語言詞法分析器特點核心代碼實現學習價值擴展建議 用Java實現一個簡單的詞法分析器完整實現代碼代碼解析示例輸出擴展建議 用Go實現極簡詞法分析器完整實現代碼代碼解析示例輸出擴展建議 最近兩天搞一個DSL&#xff0c;不得不…

強制用戶裸奔,微軟封鎖唯一后門操作

周末剛結束&#xff0c;那個常年將「用戶為中心」掛嘴邊的微軟又雙叒叕開始作妖&#xff01; 不錯&#xff0c;大伙兒今后可能再沒法通過「OOBE\BYPASSNRO」命令繞過微軟強制聯網要求了。 熟悉 Windows 11 操作系統的都知道&#xff0c;除硬件上諸多限制外&#xff1b; 軟件層…

大模型備案:攔截關鍵詞列表與敏感詞庫深度解析

隨著《生成式人工智能服務管理暫行辦法》正式實施&#xff0c;大模型上線備案成為企業合規運營的核心環節。其中&#xff0c;敏感詞庫建設與攔截關鍵詞列表管理直接關系內容安全紅線&#xff0c;今天我們就來詳細解析一下大模型備案的這一部分&#xff0c;希望對想要做備案的朋…

快速上手Linux系統輸入輸出

一、管理系統中的輸入輸出 1.什么是重定向&#xff1f; 將原本要輸出到屏幕上的內容&#xff0c;重新輸入到其他設備中或文件中 重定向類型包括 輸入重定向輸出重定向 2.輸入重定向 指定設備&#xff08;通常是文件或命令的執行結果&#xff09;來代替鍵盤作為新的輸入設…

文小言全新升級!多模型協作與智能語音功能帶來更流暢的AI體驗

文小言全新升級&#xff01;多模型協作與智能語音功能帶來更流暢的AI體驗 在3月31日的百度AI DAY上&#xff0c;文小言正式宣布了一系列令人興奮的品牌煥新與功能升級。此次更新不僅帶來了全新的品牌視覺形象&#xff0c;更讓文小言在智能助手的技術和用戶體驗方面邁上了一個新…

C++基礎算法(插入排序)

1.插入排序 插入排序&#xff08;Insertion Sort&#xff09;介紹&#xff1a; 插入排序是一種簡單直觀的排序算法&#xff0c;它的工作原理類似于我們整理撲克牌的方式。 1.基本思想 插入排序的基本思想是&#xff1a; 1.將數組分為已排序和未排序兩部分 2.每次從未排序部分…

k近鄰算法K-Nearest Neighbors(KNN)

算法核心 KNN算法的核心思想是“近朱者赤&#xff0c;近墨者黑”。對于一個待分類或預測的樣本點&#xff0c;它會查找訓練集中與其距離最近的K個樣本點&#xff08;即“最近鄰”&#xff09;。然后根據這K個最近鄰的標簽信息來對當前樣本進行分類或回歸。 在分類任務中&#…

【Feign】??使用 openFeign 時傳遞 MultipartFile 類型的參數參考

&#x1f4a5;&#x1f4a5;????歡迎閱讀本文章????&#x1f4a5;&#x1f4a5; &#x1f3c6;本篇文章閱讀大約耗時三分鐘。 ??motto&#xff1a;不積跬步、無以千里 &#x1f4cb;&#x1f4cb;&#x1f4cb;本文目錄如下&#xff1a;&#x1f381;&#x1f381;&a…

zk基礎—1.一致性原理和算法二

大綱 1.分布式系統特點 2.分布式系統的理論 3.兩階段提交Two-Phase Commit(2PC) 4.三階段提交Three-Phase Commit(3PC) 5.Paxos島的故事來對應ZooKeeper 6.Paxos算法推導過程 7.Paxos協議的核心思想 8.ZAB算法簡述 6.Paxos算法推導過程 (1)Paxos的概念 (2)問題描述 …

216. 組合總和 III 回溯

目錄 問題描述 解決思路 關鍵點 代碼實現 代碼解析 1. 初始化結果和路徑 2. 深度優先搜索&#xff08;DFS&#xff09; 3. 遍歷候選數字 4. 遞歸與回溯 示例分析 復雜度與優化 回溯算法三部曲 1. 路徑選擇&#xff1a;記錄當前路徑 2. 遞歸探索&#xff1a;進入下…

從AI大模型到MCP中臺:構建下一代智能服務的核心架構

從AI大模型到MCP中臺&#xff1a;構建下一代智能服務的核心架構 引言&#xff1a;AI大模型帶來的服務重構革命 在ChatGPT掀起全球AI熱潮的今天&#xff0c;大模型展現出的驚人能力正在重塑整個軟件服務架構。但鮮為人知的是&#xff0c;真正決定AI服務成敗的不僅是模型本身&a…

美團小程序 mtgsig1.2 拼好飯案例 分析 mtgsig

聲明 本文章中所有內容僅供學習交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包內容、敏感網址、數據接口等均已做脫敏處理&#xff0c;嚴禁用于商業用途和非法用途&#xff0c;否則由此產生的一切后果均與作者無關&#xff01; 逆向分析 美團網頁、小程序、app全是指…

【大模型基礎_毛玉仁】5.5 模型編輯應用

目錄 5.5 模型編輯應用5.5.1 精準模型更新5.5.2 保護被遺忘權5.5.3 提升模型安全 5.5 模型編輯應用 大語言模型面臨更新成本高、隱私保護難、安全風險大等問題。模型編輯技術&#xff1a; 通過細粒度修改預訓練模型&#xff0c;避免從頭訓練&#xff0c;降低更新成本&#xff…

揭秘:父子組件之間的傳遞

基礎知識 組件與組件之間有三大方面的知識點&#xff1a; 子組件通過props defineProps&#xff08;{}&#xff09;接收父組件傳遞到參數和方法&#xff1b;子組件可以通過定義 emit 事件&#xff0c;向父組件發送事件&#xff1b;父組件調用子組件通過defineExpose 導出的方法…

微前端實現方案對比Qiankun VS npm組件

架構層面&#xff1a; 1、Qiankun是典型的微前端架構&#xff0c;側重構建多個獨立前端應用協同工作的架構&#xff0c;主應用負責自用用的加載、卸載和通信&#xff1b;子應用不限制&#xff0c;可以是VUE、React等&#xff1b; 2、Qiankun松耦合&#xff0c;各個自應用獨立…