【每日學點HarmonyOS Next知識】狀態欄控制、片段按鈕點擊回調、繪制組件、取消按鈕與輸入框對齊、父調子組件方法

1、HarmonyOS 狀態欄怎么控制顯示于隱藏,設置狀態欄顏色,子顏色等控制?

顯示與隱藏 可以設置沉浸式,隱藏的話可以退出沉靜式,在子窗口打開的頁面 aboutToAppear 方法中設置沉浸式

aboutToAppear(): void {// 設置沉浸式window.getLastWindow(getContext(this), (err, windowBar) => {windowBar.setWindowLayoutFullScreen(true);// windowBar.setWindowSystemBarEnable([])
})
}
aboutToDisappear(): void {// 退出沉浸式window.getLastWindow(getContext(this), (err, windowBar) => {windowBar.setWindowLayoutFullScreen(false);// windowBar.setWindowSystemBarEnable([])
})
}

參考鏈接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-window-V5#setwindowlayoutfullscreen9
設置狀態欄的背景:SystemBarProperties,參考鏈接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-window-V5#setwindowlayoutfullscreen9

或者使用:

onWindowStageCreate(windowStage: window.WindowStage): void {// Main window is created, set main page for this abilityhilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate');windowStage.loadContent('pages/APage', (err) => {if (err.code) {hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? '');return;
}
windowStage.getMainWindowSync().setWindowBackgroundColor('#00ff33') ##此處添加
hilog.info(0x0000, 'testTag', 'Succeeded in loading the content.');
});
}
2、HarmonyOS SegmentButton 點擊事件回調是哪個? onclick無回調?

用戶點擊切換SegmentButton 時,無回調, 回調需要獲取到點擊按鈕的index
參考以下demo:

import {ItemRestriction,SegmentButton,SegmentButtonItemTuple,SegmentButtonOptions,SegmentButtonTextItem
} from '@ohos.ArkUI.advanced.SegmentButton'@Entry
@Component
struct Index {@State tabOptions: SegmentButtonOptions = SegmentButtonOptions.tab({buttons: [{ text: '頁簽按鈕1' }, { text: '頁簽按鈕2' }, {text: '頁簽按鈕3'}] as ItemRestriction<SegmentButtonTextItem>,backgroundBlurStyle: BlurStyle.BACKGROUND_THICK})@State tf:boolean=true@State @Watch('onSegmentButtonChange') tabSelectedIndexes: number[] = [0]onSegmentButtonChange() {this.tf=!this.tfconsole.log(`選中按鈕索引 -- ${this.tabSelectedIndexes}`);}aboutToAppear(): void {console.log("122233")}build() {Row() {Column() {Column({ space: 25 }) {SegmentButton({ options: this.tabOptions,selectedIndexes: $tabSelectedIndexes })TextInput({text:`${this.tabSelectedIndexes}`}).enabled(this.tf)}.width('90%')}.width('100%')}.height('100%')}
}
3、HarmonyOS java PathMeasure 對應的api?

關于PathMeasure,HarmonyOS提供了Path路徑繪制組件,可以參考文檔:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-drawing-components-path-V5

關于transform,HarmonyOS提供了transform函數用于設置組件的變換矩陣:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-transformation-V5#transform

可以使用@ohos.graphics.drawing模塊提供的接口來測量自定義路徑的長度。具體步驟如下:

  1. 導入@ohos.graphics.drawing模塊: 確保在項目中導入了@ohos.graphics.drawing模塊,以便使用其提供的繪圖和測量功能。
  2. 創建Path對象: 使用Path對象來定義和繪制自定義路徑。
  3. 測量路徑長度: 使用@ohos.graphics.drawing模塊提供的接口來測量Path對象所表示的路徑的長度。具體接口如下:getLength(path: Path): number:返回路徑的長度。
  4. 示例步驟:創建一個Path對象,使用moveTo、lineTo和close方法構建路徑。調用getLength方法,傳入創建的Path對象,獲取路徑的長度。通過以上步驟,可以在HarmonyOS系統中實現對canvas路徑的測量。系統中實現對canvas路徑的測量。
4、HarmonyOS 如何在父組件中調用子組件的方法?
@Component
struct Child  {@State private text: string = '初始值'private controller: ChildController = new ChildController();aboutToAppear() {if(this.controller) {//給controller對應的方法賦值this.controller.changeText = this.changeText}}//封裝的能力private changeText = (value: string) =>{this.text = value}build() {Column() {Text(this.text)}}
}//定義controller對象
class ChildController {changeText = (value: string) => {}
}@Entry
@Component
struct Parent {private  ChildRef = new ChildController()build() {Column() {Text('調用Child的changeText').fontSize('18vp').fontColor(Color.Gray)Divider()Child({ controller:this. ChildRef })Button('Parent調用childer的changeText').onClick(() => {this.ChildRef.changeText('Parent調用childer的changeText')})}.justifyContent(FlexAlign.Center).width("100%").height("100%")}
}
5、HarmonyOS input的cancleButton無法對齊?

input的cancleButton無法對齊

目前textInput的cancelButton暫時不支持清除右邊距,可以使用row容器布局,并將justifyContent屬性設置為FlexAlign.SpaceBetween進行實現。

參考demo:

Row(){TextInput({ placeholder: '選填', text: '' }).placeholderColor("#99262626").textAlign(TextAlign.End).placeholderFont({ size: 14 }).fontColor(Color.Black).borderRadius(0).backgroundColor(Color.Transparent).fontSize(14).padding(0).onChange((value: string) => {this.inviteCode = value;}).width('95%')Image($r("app.media.app_icon")).height(20).onClick(() => {})
}.justifyContent(FlexAlign.SpaceBetween).width('100%')

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

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

相關文章

二級Python通關秘籍:字符串操作符/函數/方法全解析與實戰演練

第一章 字符串基礎概念與運算符速通 1.1 字符串的不可變性特性 在Python中&#xff0c;字符串被設計為immutable類型&#xff0c;任何修改操作都會生成新對象。這一特性直接影響字符串拼接的性能表現&#xff0c;建議使用join()方法代替多次操作。 1.2 基礎操作符全掌握 pyt…

GStreamer —— 2.6、Windows下Qt加載GStreamer庫后運行 - “教程6:媒體格式和Pad功能“(附:完整源碼)

運行效果 簡介 上一個教程演示了GUI 工具包集成(gtk)。本教程介紹媒體格式和Pad功能。Pad Capabilities 是 GStreamer 的一個基本元素&#xff0c;盡管大多數它們不可見&#xff0c;因為框架會處理它們 自然而然。這個有點理論性的教程展示了&#xff1a; ? 什么是 Pad 功能。…

【前綴和與差分 C/C++】洛谷 P8218 求區間和

2025 - 03 - 09 - 第 72 篇 Author: 鄭龍浩 / 仟濹 【前綴和與差分 C/C】 文章目錄 洛谷 P8218 求區間和題目描述輸入格式輸出格式輸入輸出樣例 #1輸入 #1輸出 #1 說明/提示思路代碼 洛谷 P8218 求區間和 題目描述 給定 n n n 個正整數組成的數列 a 1 , a 2 , ? , a n a_…

初識Bert

在學習Bert之前我們先了解“遞歸神經網絡&#xff08;RNN Recurrent neural network)” 和 “長短期記憶&#xff08;LSTM Long short-term memory)” 我們如果僅僅識別每個字的含義&#xff0c;那么在一句話中沒有相同的字還是可以的但是如果一句話中有相同的字&#xff0c;那…

clickhouse源碼分析

《ClickHouse源碼分析》 當我們談論數據庫時&#xff0c;ClickHouse是一個不容忽視的名字。它是一個用于聯機分析處理&#xff08;OLAP&#xff09;的列式數據庫管理系統&#xff08;DBMS&#xff09;&#xff0c;以其快速的數據查詢能力而聞名。對于想要深入了解這個高效工具…

[網絡爬蟲] 動態網頁抓取 — Selenium 元素定位

&#x1f31f;想系統化學習爬蟲技術&#xff1f;看看這個&#xff1a;[數據抓取] Python 網絡爬蟲 - 學習手冊-CSDN博客 在使用 Selenium 時&#xff0c;往往需要先定位到指定元素&#xff0c;然后再執行相應的操作。例如&#xff0c;再向文本輸入框中輸入文字之前&#xff0c;…

ArcGIS操作:15 計算點的經緯度,并添加到屬性表

注意&#xff1a;需要轉化為地理坐標系 1、打開屬性表&#xff0c;添加字段 2、計算字段&#xff08;以計算緯度為例 !Shape!.centroid.Y ) 3、效果

[項目]基于FreeRTOS的STM32四軸飛行器: 七.遙控器按鍵

基于FreeRTOS的STM32四軸飛行器: 七.遙控器 一.遙控器按鍵搖桿功能說明二.搖桿和按鍵的配置三.按鍵掃描 一.遙控器按鍵搖桿功能說明 兩個手柄四個ADC。 左側手柄&#xff1a; 前后推為飛控油門&#xff0c;左右推為控制飛機偏航角。 右側手柄&#xff1a; 控制飛機飛行方向&a…

Redis 內存淘汰策略深度解析

Redis 作為高性能的內存數據庫&#xff0c;其內存資源的高效管理直接關系到系統的穩定性和性能。當 Redis 的內存使用達到配置的最大值&#xff08;maxmemory&#xff09;時&#xff0c;新的寫入操作將觸發內存淘汰機制&#xff08;Eviction Policy&#xff09;&#xff0c;以釋…

【面試】Java 集合

集合 1、常見的集合有哪些2、說說 List、Set、Queue、Map 四者的區別3、Collection 和 Collections 有什么區別4、Comparable 和 Comparator 的區別5、ArrayList 和 LinkedList 的區別是什么6、ArrayList 和 Vector 的區別是什么7、ArrayList 和 Vector 的擴容機制8、CopyOnWri…

【c++】平移字符串

說明 實現字符串的左移與右移 示例代碼 #include <iostream> #include <string> using namespace std;int main() {string str1 "12345";//左移2位string str2 str1.substr(2) str1.substr(0, 2);cout << str2 << endl;//右移2位&…

密碼學(終極版)

加密 & 解密 備注&#xff1a;密碼學領域不存在完全不能破解的密碼&#xff0c;但是如果一個密碼需要很久很久&#xff0c;例如一萬年才能破解&#xff0c;就認為這個密碼是安全的了。 對稱加密 非對稱加密 公鑰加密、私鑰解密 私鑰簽名、公鑰認證 非對稱的底層原理是…

FreeRTOS任務狀態查詢

一.任務相關API vTaskList&#xff08;&#xff09;&#xff0c;創建一個表格描述每個任務的詳細信息 char biaoge[1000]; //定義一個緩存 vTaskList(biaoge); //將表格存到這緩存中 printf("%s /r/n",biaoge); 1.uxTaskPriorityGet&#xff08;&#xf…

yolov5代碼詳解--3.python代碼腳本

三、val.py val.py的主要作用是對訓練好的模型進行驗證&#xff08;或評估&#xff09;。具體來說&#xff0c;它用于在指定的驗證集上評估模型的性能&#xff0c;計算各項評估指標&#xff0c;并輸出結果。val.py通常在模型訓練完成后運行&#xff0c;用于驗證模型的檢測精度、…

無人機應用探索:玻纖增強復合材料的疲勞性能研究

隨著無人機技術的快速發展&#xff0c;輕量化已成為其結構設計的核心需求。玻纖增強復合材料憑借高強度、低密度和優異的耐環境性能&#xff0c;成為無人機機身、旋翼支架等關鍵部件的理想選擇。然而&#xff0c;無人機在服役過程中需應對復雜多變的環境&#xff1a;高空飛行時…

Python SQLite3 保姆級教程:從零開始學數據庫操作

Python SQLite3 保姆級教程&#xff1a;從零開始學數據庫操作 本文適合純新手&#xff01;無需任何數據庫基礎&#xff0c;跟著步驟操作即可掌握 SQLite3 的核心用法。 目標&#xff1a;讓你像用記事本一樣輕松操作數據庫&#xff01; 目錄 什么是 SQLite3&#xff1f;環境準…

C語言中的整數類型(short,int,long和long long)

整數是編程中最常見的一種數據類型&#xff0c;C語言提供了多種整數類型&#xff0c;包括 short、int、long 和 long long&#xff0c;它們的主要區別在于存儲范圍和內存占用的大小。 本節將詳細講解這些整數類型的定義、特性、使用場景以及注意事項&#xff0c;幫助你全面理解…

使用jcodec庫,訪問網絡視頻提取封面圖片上傳至oss

注釋部分為FFmpeg&#xff08;確實方便但依賴太大&#xff0c;不想用&#xff09; package com.zuodou.upload;import com.aliyun.oss.OSS; import com.aliyun.oss.model.ObjectMetadata; import com.aliyun.oss.model.PutObjectRequest; import com.zuodou.oss.OssProperties;…

游戲引擎學習第147天

倉庫:https://gitee.com/mrxiao_com/2d_game_3 上一集回顧 具體來說&#xff0c;我們通過隱式計算來解決問題&#xff0c;而不是像數字微分分析器那樣逐步增加數據。我們已經涵蓋了這個部分&#xff0c;并計劃繼續處理音量問題。不過&#xff0c;實際上我們現在不需要繼續處理…

使用Dockerfile打包java項目生成鏡像部署到Linux_java項目打docker鏡像的dockerfile

比起容器、鏡像來說&#xff0c;Dockerfile 非常普通&#xff0c;它就是一個純文本&#xff0c;里面記錄了一系列的構建指令&#xff0c;比如選擇基礎鏡像、拷貝文件、運行腳本等等&#xff0c;每個指令都會生成一個 Layer&#xff0c;而 Docker 順序執行這個文件里的所有步驟&…