日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
鴻蒙HarmonyOSJavaUI之DirectionalLayout布局

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

創(chuàng)新互聯(lián)長期為上千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為越城企業(yè)提供專業(yè)的網(wǎng)站設(shè)計、網(wǎng)站建設(shè),越城網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

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

https://harmonyos./#zz

在之前的章節(jié)中我使用的是Java 代碼構(gòu)建UI界面,從本節(jié)開始,將使用XML構(gòu)建UI界面。

使用XML構(gòu)建UI(默認你已經(jīng)會在項目中創(chuàng)建XML布局文件)界面相對Java代碼構(gòu)建的好處是:結(jié)構(gòu)清晰,代碼簡潔。

DirectionalLayout(單一方向排列布局)是Java UI的一種重要的組件布局,用于將一組組件按照水平或垂直方向排布,能夠方便地對齊布局內(nèi)的組件。與Android中的線性布局相似。可以通過設(shè)置orientation屬性來控制組件的排列方式,默認為垂直排列。

 
 
 
 
  1.                    ohos:width="match_parent"
  2.                    ohos:height="match_parent"
  3.                    ohos:background_element="#FFCCCCCC"
  4.                    ohos:orientation="vertical">
  5.     
  6.         ohos:id="$+id:txtOne"
  7.         ohos:width="match_content"
  8.         ohos:height="match_content"
  9.         ohos:padding="20vp"
  10.         ohos:margin="20vp"
  11.         ohos:text_size="30vp"
  12.         ohos:text_color="#FFFFFFFF"
  13.         ohos:background_element="#FFFF00FF"
  14.         ohos:text="我是第一個"/>
  15.     
  16.         ohos:id="$+id:txtTwo"
  17.         ohos:width="match_content"
  18.         ohos:height="match_content"
  19.         ohos:padding="20vp"
  20.         ohos:margin="20vp"
  21.         ohos:text_size="30vp"
  22.         ohos:text_color="#FFFFFFFF"
  23.         ohos:background_element="#FFFF00FF"
  24.         ohos:text="我是第二個"/>
  25.     
  26.         ohos:id="$+id:txtThird"
  27.         ohos:width="match_content"
  28.         ohos:height="match_content"
  29.         ohos:padding="20vp"
  30.         ohos:margin="20vp"
  31.         ohos:text_size="30vp"
  32.         ohos:text_color="#FFFFFFFF"
  33.         ohos:background_element="#FFFF00FF"
  34.         ohos:text="我是第三個"/>

將上面代碼中的ohos:orientation="vertical"換成ohos:orientation="horizontal" 然后運行查看效果如下所示。

DirectionalLayout布局中的組件不會自動換行,會按照設(shè)定的方向依次排列,若超出布局本身大小,超出布局大小的部分將不會顯示。我們將上面示例代碼中的Text組件寬度設(shè)定為400vp,然后運行效果如下所示,我們可以看到,第三個Text組件顯示了一部分。

DirectionalLayout中的組件使用layout_alignment控制自身在布局中的對齊方式,當對齊方式與排列方式一致時,對齊方式不會生效,如布局為水平方法排列,則其下組件左對齊、右對齊將不會生效。因為布局中可以嵌套布局來豐富UI樣式,我們可以使用這個方式來演示一下對齊樣式。

 
 
 
 
  1.                    ohos:width="match_parent"
  2.                    ohos:height="match_parent"
  3.                    ohos:orientation="vertical">
  4.     
  5.             ohos:width="match_parent"
  6.             ohos:height="0vp"
  7.             ohos:weight="2"
  8.             ohos:margin="10vp"
  9.             ohos:background_element="#FFDDDDDD"
  10.             ohos:orientation="vertical">
  11.         
  12.                 ohos:width="match_content"
  13.                 ohos:height="match_content"
  14.                 ohos:padding="10vp"
  15.                 ohos:margin="10vp"
  16.                 ohos:text_size="20vp"
  17.                 ohos:text_color="#FFFFFFFF"
  18.                 ohos:layout_alignment="left"
  19.                 ohos:background_element="#FFFF00FF"
  20.                 ohos:text="左對齊"/>
  21.         
  22.                 ohos:width="match_content"
  23.                 ohos:height="match_content"
  24.                 ohos:padding="10vp"
  25.                 ohos:margin="10vp"
  26.                 ohos:text_size="20vp"
  27.                 ohos:text_color="#FFFFFFFF"
  28.                 ohos:layout_alignment="horizontal_center"
  29.                 ohos:background_element="#FFFF00FF"
  30.                 ohos:text="水平方向居中"/>
  31.         
  32.                 ohos:width="match_content"
  33.                 ohos:height="match_content"
  34.                 ohos:padding="10vp"
  35.                 ohos:margin="10vp"
  36.                 ohos:text_size="20vp"
  37.                 ohos:text_color="#FFFFFFFF"
  38.                 ohos:layout_alignment="right"
  39.                 ohos:background_element="#FFFF00FF"
  40.                 ohos:text="右對齊"/>
  41.         
  42.                 ohos:width="match_content"
  43.                 ohos:height="match_content"
  44.                 ohos:padding="10vp"
  45.                 ohos:margin="10vp"
  46.                 ohos:text_size="20vp"
  47.                 ohos:text_color="#FFFFFFFF"
  48.                 ohos:layout_alignment="center"
  49.                 ohos:background_element="#FFFF00FF"
  50.                 ohos:text="垂直與水平方向都居中"/>
  51.     
  52.     
  53.             ohos:width="match_parent"
  54.             ohos:height="0vp"
  55.             ohos:margin="10vp"
  56.             ohos:weight="1"
  57.             ohos:background_element="#FFCCCCCC"
  58.             ohos:orientation="horizontal">
  59.         
  60.                 ohos:width="match_content"
  61.                 ohos:height="match_content"
  62.                 ohos:padding="10vp"
  63.                 ohos:margin="10vp"
  64.                 ohos:text_size="20vp"
  65.                 ohos:text_color="#FFFFFFFF"
  66.                 ohos:layout_alignment="top"
  67.                 ohos:background_element="#FFFF00FF"
  68.                 ohos:text="頂部對齊"/>
  69.         
  70.                 ohos:width="match_content"
  71.                 ohos:height="match_content"
  72.                 ohos:padding="10vp"
  73.                 ohos:margin="10vp"
  74.                 ohos:text_size="20vp"
  75.                 ohos:text_color="#FFFFFFFF"
  76.                 ohos:layout_alignment="vertical_center"
  77.                 ohos:background_element="#FFFF00FF"
  78.                 ohos:text="垂直方向居中"/>
  79.         
  80.                 ohos:width="match_content"
  81.                 ohos:height="match_content"
  82.                 ohos:padding="10vp"
  83.                 ohos:margin="10vp"
  84.                 ohos:text_size="20vp"
  85.                 ohos:text_color="#FFFFFFFF"
  86.                 ohos:layout_alignment="bottom"
  87.                 ohos:background_element="#FFFF00FF"
  88.                 ohos:text="底部對齊"/>
  89.         
  90.                 ohos:width="match_content"
  91.                 ohos:height="match_content"
  92.                 ohos:padding="10vp"
  93.                 ohos:margin="10vp"
  94.                 ohos:text_size="20vp"
  95.                 ohos:text_color="#FFFFFFFF"
  96.                 ohos:layout_alignment="center"
  97.                 ohos:background_element="#FFFF00FF"
  98.                 ohos:text="垂直與水平方向都居中"/>
  99.     

在上面代碼中我們看到兩個DirectionalLayout子布局中有ohos:weight="1"屬性,這個屬性就是設(shè)置組件在布局中的權(quán)重,按照比例來分配組件占用父組件的大小。

DirectionalLayout布局需要掌握的知識點也就這么多,接下來再說說題外話。

設(shè)置UI顯示界面問題

我們使用XML方式構(gòu)建UI,在AbilitySlice中設(shè)置界面入口的時候,一般會報錯,找不到布局文件。官方推薦使用Build -> Build App(s)/Hap(s) > Build Debug Hap(s)重新編譯一次即可。

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

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

https://harmonyos./#zz


網(wǎng)頁標題:鴻蒙HarmonyOSJavaUI之DirectionalLayout布局
瀏覽路徑:http://www.dlmjj.cn/article/cccpjpe.html