首頁 > Java > java教程 > 掌握 Android 開發中的 Java 片段

掌握 Android 開發中的 Java 片段

WBOY
發布: 2024-07-28 20:28:53
原創
371 人瀏覽過

Mastering Fragments in Java for Android Development

Fragments 是 Android 開發中的關鍵元件,為創建動態使用者介面提供了模組化且可重複使用的架構。片段代表活動中使用者介面的一部分,允許更靈活和可管理的 UI 設計,尤其是在較大的螢幕上。本文將引導您了解 Java 中片段的基礎知識、它們的生命週期以及如何在 Android 專案中實現它們。

了解片段生命週期:

fragment 的生命週期與其宿主 Activity 的生命週期密切相關,但也具有其他狀態。以下是關鍵階段:

  1. onAttach():當片段首次附加到其上下文時呼叫。
  2. onCreate():呼叫以初始化片段。
  3. onCreateView():呼叫以建立片段的 UI。
  4. onActivityCreated():當宿主 Activity 建立時呼叫。
  5. onStart():當片段可見時呼叫。
  6. onResume():當片段準備好與使用者互動時呼叫。
  7. onPause():當片段不再位於前台時呼叫。
  8. onStop():當片段不再可見時呼叫。
  9. onDestroyView():呼叫以清理與視圖關聯的資源。
  10. onDestroy():呼叫以清理與片段關聯的資源。
  11. onDetach():當片段與其上下文分離時呼叫。

實現片段

第 1 步:建立片段類別

要建立片段,請擴充 Fragment 類別並重寫必要的生命週期方法。

public class MyFragment extends Fragment {
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_my, container, false);
    }
}
登入後複製

第 2 步:定義片段版面

在 res/layout 目錄中為片段建立 XML 版面配置檔案(例如,fragment_my.xml)。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello, Fragment!"
        android:textSize="18sp"/>
</LinearLayout>
登入後複製

第 3 步:將片段加入 Activity

在 Activity 的版面配置 XML 檔案中,使用 FragmentContainerView 定義片段的放置位置。

<androidx.fragment.app.FragmentContainerView
    android:id="@+id/fragment_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>
登入後複製

第 4 步:在 Activity 中顯示片段

在您的 Activity 中,使用 FragmentManager 新增或取代 FragmentContainerView 中的片段。

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                .replace(R.id.fragment_container, new MyFragment())
                .commit();
        }
    }
}
登入後複製

以上是掌握 Android 開發中的 Java 片段的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板