新聞中心
DirectionalLayout 是 Java UI 中的一種重要組件布局,用于將一組組件(Component)按照水平或者垂直方向排布,能夠方便地對(duì)齊布局內(nèi)的組件。該布局和其他布局的組合,可以實(shí)現(xiàn)更加豐富的布局方式。

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站與策劃設(shè)計(jì),大余網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:大余等地區(qū)。大余做網(wǎng)站價(jià)格咨詢:18982081108
圖1 DirectionalLayout 示意圖
排列方式
DirectionalLayout 的排列方向(orientation)分為水平(horizontal)或者垂直(vertical)方向。使用 orientation 設(shè)置布局內(nèi)組件的排列方式,默認(rèn)為垂直排列。
- 垂直排列
垂直方向排列三個(gè)按鈕,效果如下:
圖2 三個(gè)垂直排列的按鈕
color_cyan_element.xml:
- 水平排列
水平方向排列三個(gè)按鈕,效果如下:
圖3 三個(gè)水平排列的按鈕
color_cyan_element.xml:
DirectionalLayout 不會(huì)自動(dòng)換行,其子組件會(huì)按照設(shè)定的方向依次排列,若超過布局本身的大小,超出布局大小的部分將不會(huì)被顯示,例如:
color_cyan_element.xml:
此布局包含了三個(gè)按鈕,但由于 DirectionalLayout 不會(huì)自動(dòng)換行,超出布局大小的組件部分無法顯示。界面顯示如下:
圖4 DirectionalLayout 不自動(dòng)換行示例
對(duì)齊方式
DirectionalLayout 中的組件使用 layout_alignment 控制自身在布局中的對(duì)齊方式,當(dāng)對(duì)齊方式與排列方式方向一致時(shí),對(duì)齊方式不會(huì)生效,如設(shè)置了水平方向的排列方式,則左對(duì)齊、右對(duì)齊將不會(huì)生效。常用的對(duì)齊參數(shù)見[表1]。
| 參數(shù) | 作用 | 可搭配排列方式 |
|---|---|---|
| left | 左對(duì)齊 | 垂直排列 |
| top | 頂部對(duì)齊 | 水平排列 |
| right | 右對(duì)齊 | 垂直排列 |
| bottom | 底部對(duì)齊 | 水平排列 |
| horizontal_center | 水平方向居中 | 垂直排列 |
| vertical_center | 垂直方向居中 | 水平排列 |
| center | 垂直與水平方向都居中 | 水平/垂直排列 |
三種對(duì)齊方式的示例代碼:
color_cyan_element.xml:
圖5 三種對(duì)齊方式效果示例
權(quán)重
權(quán)重(weight)就是按比例來分配組件占用父組件的大小,在水平布局下計(jì)算公式為:
父布局可分配寬度=父布局寬度-所有子組件 width 之和;
組件寬度=組件 weight/所有組件 weight 之和*父布局可分配寬度;
實(shí)際使用過程中,建議使用 width=0 來按比例分配父布局的寬度,1:1:1 效果如下:
color_cyan_element.xml:
color_gray_element.xml:
場(chǎng)景示例
源碼示例:
color_light_gray_element.xml:
color_cyan_element.xml:
color_gray_element.xml:
當(dāng)前題目:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSDirectionalLayout
分享路徑:http://www.dlmjj.cn/article/dpjihpo.html


咨詢
建站咨詢
