Android的ViewGroup是用于容納其他視圖(View)的容器。它繼承自View類,除了可以包含其他View,還可以包含其他ViewGroup。ViewGroup主要有以下幾種布局方式:
線性布局(LinearLayout):子視圖按照順序一個接一個地排列,從左到右或從上到下。可以通過設置orientation屬性為“horizontal”或“vertical”來改變方向。
相對布局(RelativeLayout):子視圖相對于布局或相互之間的位置進行定位。可以使用屬性如layout_below
、layout_toRightOf
等來指定相對位置。
幀布局(FrameLayout):子視圖按照添加順序疊加在一起,后面的視圖會覆蓋在前面的視圖上。
絕對布局(AbsoluteLayout):通過指定精確的坐標來放置子視圖。這種方式不推薦使用,因為它不靈活且依賴于屏幕分辨率。
約束布局(ConstraintLayout):允許子視圖相對于其他視圖或布局的邊緣進行定位,提供了更復雜的布局控制。
表格布局(TableLayout):將子視圖作為表格的行和列進行排列。
網格布局(GridLayout):將子視圖均勻分布在網格中,類似于表格布局,但更加靈活。
流式布局(FlowLayout):子視圖從左到右排列,當一行填滿后,下一個子視圖會自動移到下一行。
組合布局(CompoundDrawablesLayout):允許子視圖與drawable資源(如圖片、顏色等)結合使用,用于創建更豐富的界面效果。
這些布局方式可以根據應用的需求進行選擇和組合,以實現所需的界面布局。