Android Studio 學習手冊-Fragment動態控制

Andreea
May 29, 2021

--

fragment讓APP的畫面設計更有彈性,利用fragment,我們可以將APP的操作畫面切分為區塊,每個區塊可以獨立顯示或者隱藏,就可以應付不同大小的裝置。

採用fragment設計的畫面有以下優點:

  1. APP的操作畫面由多個fragment組成,設計上更有彈性
  2. 每個fragment都有自己的介面布局檔以及程式檔,可以將fragment看成是一個獨立運作的單位
  3. 在APP運行的過程中,fragment可以動態新增以及刪除

示範fragment建立的步驟:

0. 建立一個新project

  1. 新增fragment

app>java>new>fragment>fragment(blank)

2. 將fragment.xml的framelayout改成constraintlayout

3. 編輯fragment的xml

和之前的一樣:參考NumberPicker數字轉輪

xml檔連結

4. 編輯fragment的java

大部分和之前一樣:參考NumberPicker數字轉輪

差異的部分為OnCreate變成OnCreateView

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {}

java檔連結

5. 編輯main.xml

<fragment
android:id="@+id/frag"
android:name="com.example.spinner.marri_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginTop="8dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"/>

要從code端自己加入,因為palette沒有物件可以拉

注意以下三件事:

  1. fragment標籤的開頭字母要是小寫
  2. 一定要有id
  3. android:name屬性是指定使用的fragment類別,而且必須加上完整的路徑名稱

完整code連結

--

--