自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

鴻蒙HarmonyOS官方模板學(xué)習(xí) 之 Full Screen Ability(Java)

開發(fā) 后端 OpenHarmony
使用Java語言開發(fā),用于Phone設(shè)備的FeatureAbility模板,使用XML布局。為開發(fā)者提供全屏頁的示例工程,使用了Image組件,并實現(xiàn)了橫豎屏切換,并保持全屏顯示。

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

Full Screen Ability(Java)

介紹

使用Java語言開發(fā),用于Phone設(shè)備的FeatureAbility模板,使用XML布局。為開發(fā)者提供全屏頁的示例工程,使用了Image組件,并實現(xiàn)了橫豎屏切換,并保持全屏顯示。

搭建環(huán)境

安裝DevEco Studio,詳情請參考DevEco Studio下載。

設(shè)置DevEco Studio開發(fā)環(huán)境,DevEco Studio開發(fā)環(huán)境需要依賴于網(wǎng)絡(luò)環(huán)境,需要連接上網(wǎng)絡(luò)才能確保工具的正常使用,可以根據(jù)如下兩種情況來配置開發(fā)環(huán)境:

如果可以直接訪問Internet,只需進行下載HarmonyOS SDK操作。

如果網(wǎng)絡(luò)不能直接訪問Internet,需要通過代理服務(wù)器才可以訪問,請參考配置開發(fā)環(huán)境。

卡片布局

實現(xiàn)該效果其實有2個布局文件,land_main.xml #橫屏布局文件,port_main.xml #豎屏布局文件

布局文件對比,有2處不同,

1.最外層的DirectionalLayout布局的orientation,橫屏值設(shè)置為horizonal,豎屏值設(shè)置為vertical

2.橫屏布局是bottom_margin/top_margin 設(shè)置為0,豎屏布局是left_margin/right_margin 設(shè)置為0

橫屏布局文件豎屏布局文件

HarmonyOS官方模板學(xué)習(xí) 之 Full Screen Ability(Java)-鴻蒙HarmonyOS技術(shù)社區(qū)
HarmonyOS官方模板學(xué)習(xí) 之 Full Screen Ability(Java)-鴻蒙HarmonyOS技術(shù)社區(qū)

后臺邏輯

1.啟動時,添加窗口標(biāo)志。 您可以從 WindowManager.LayoutConfig 獲取當(dāng)前支持的標(biāo)志。

然后根據(jù)手機方向的不同來加載不同的布局文件。

  1. @Override 
  2.     public void onStart(Intent intent) { 
  3.         super.onStart(intent); 
  4.  
  5.         // hide status bar 
  6.         HiLog.debug(LABEL, "添加窗口標(biāo)志,全屏模式,隱藏狀態(tài)欄和面板可以擴展到屏幕之外。"); 
  7.         this.getWindow().addFlags(WindowManager.LayoutConfig.MARK_ALLOW_EXTEND_LAYOUT); 
  8.         this.getWindow().addFlags(WindowManager.LayoutConfig.MARK_FULL_SCREEN); 
  9.  
  10.         // adapt orientation 
  11.         //0:PORTRAIT,1:LANDSCAPE 
  12.         int orientation = getResourceManager().getConfiguration().direction; 
  13.         HiLog.debug(LABEL, "從資源管理配置中獲取方向:%{public}s ,加載布局文件", orientation==0?"PORTRAIT":"LANDSCAPE"); 
  14.         if (orientation == Configuration.DIRECTION_HORIZONTAL) { 
  15.             super.setUIContent(ResourceTable.Layout_land_main); 
  16.         } else { 
  17.             super.setUIContent(ResourceTable.Layout_port_main); 
  18.         } 
  19.     } 

2.當(dāng)屏幕的顯示方向改變時重新加載布局文件,此處和啟動時判定方式不同,

利用AbilityInfo.DisplayOrientation和 AbilityInfo.DisplayOrientation.LANDSCAPE 進行判定。

  1. @Override 
  2.     protected void onOrientationChanged(AbilityInfo.DisplayOrientation displayOrientation) { 
  3.         super.onOrientationChanged(displayOrientation); 
  4.  
  5.         if (displayOrientation == AbilityInfo.DisplayOrientation.LANDSCAPE) { 
  6.             HiLog.debug(LABEL, "手機方向發(fā)生改變,變?yōu)椋?{public}s ,重新加載布局文件""LANDSCAPE"); 
  7.  
  8.             setUIContent(ResourceTable.Layout_land_main); 
  9.         } else { 
  10.             HiLog.debug(LABEL, "手機方向發(fā)生改變,變?yōu)椋?{public}s ,重新加載布局文件""PORTRAIT"); 
  11.  
  12.             setUIContent(ResourceTable.Layout_port_main); 
  13.         } 
  14.     } 

java版本的邏輯比較簡單,看了一下js版本的案例,支持更多的設(shè)備類型,處理邏輯也不一樣,tv和wearable沒有橫豎屏之分,尺寸差異也比較大,用了2張不同尺寸的圖片,核心關(guān)鍵是利用css通過dispaly來控制顯示和隱藏,適配不同的設(shè)備。

效果展示

[[407818]]

文章相關(guān)附件可以點擊下面的原文鏈接前往下載

原文鏈接:https://harmonyos.51cto.com/posts/4776

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

 

責(zé)任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2021-07-01 09:19:56

鴻蒙HarmonyOS應(yīng)用

2021-06-18 14:55:57

鴻蒙HarmonyOS應(yīng)用

2021-05-28 17:01:49

鴻蒙HarmonyOS應(yīng)用

2021-08-30 18:34:35

鴻蒙HarmonyOS應(yīng)用

2020-12-30 11:08:50

鴻蒙HarmonyOShelloWorld

2020-11-17 11:48:44

HarmonyOS

2020-11-25 12:02:02

TableLayout

2023-03-08 08:33:44

Javajavac命令

2021-10-18 10:14:26

鴻蒙HarmonyOS應(yīng)用

2021-01-06 10:59:14

鴻蒙HarmonyOSPage Abilit

2022-02-17 21:05:26

AbilityJS FAJava PA

2021-01-04 11:44:05

鴻蒙HarmonyOSAbilitySlic

2020-12-22 11:09:20

鴻蒙Feature AbiAbilitySlic

2021-03-05 15:55:10

鴻蒙HarmonyOS應(yīng)用開發(fā)

2020-09-30 07:41:28

Redis工具 Redis-full

2020-11-05 11:47:52

HarmonyOS

2020-12-01 15:54:08

鴻蒙構(gòu)建系統(tǒng)

2021-01-12 09:42:05

鴻蒙HarmonyOSPage Abilit

2020-12-28 11:19:06

鴻蒙HarmonyOSPage Abilit

2021-09-18 14:40:37

鴻蒙HarmonyOS應(yīng)用
點贊
收藏

51CTO技術(shù)棧公眾號