APP的有幾種外觀UI設計的方法,下列是Android常見的主角Layout元件:
我自己比較常用的布局元件是Linear Layout和Constraint Layout
而今天想先發表Linear Layout的基本介紹~
orientation:
它提供兩種排列的方式,水平(horizontal)以及垂直(vertical)
gravity:
控制組件的對齊方式
layout_gravity:
控制該組件再父容器中的對齊方式
layout_width、layout_height:
布局的寬度、高度,例如用match_parent是填滿、wrap_content是依照實際大小
layout_margin:
與邊界的距離長度,例如layout_marginTop、layout_marginLeft
id:
把該組件設置id,使java可以透過findViewById來連結該組件
background:
可以用來設置背景的顏色或者圖片
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="你好"
android:textSize="50dp"
android:gravity="center_horizontal"
android:background="#888888"/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="哈囉"
android:layout_gravity="center_horizontal"
android:textSize="50dp"
android:layout_marginTop="50dp"
android:background="#987654"/>
</LinearLayout>
利用比例的權重來分割它在畫面中占用的大小
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="你好"
android:textSize="50dp"
android:gravity="center_horizontal"
android:background="#888888"
android:layout_weight="1"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="哈囉"
android:gravity="center_horizontal"
android:textSize="50dp"
android:ma="50dp"
android:background="#987654"
android:layout_weight="2"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="你好"
android:gravity="center_horizontal"
android:textSize="50dp"
android:ma="50dp"
android:background="#456789"
android:layout_weight="4"/>
</LinearLayout>