Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android開發學習—— Fragment,androidfragment

Android開發學習—— Fragment,androidfragment

編輯:關於android開發

Android開發學習—— Fragment,androidfragment


#Fragment
* 用途:在一個Activity裡切換界面,切換界面時只切換Fragment裡面的內容
* 生命周期方法跟Activity一致,可以理解把其為就是一個Activity
* 定義布局文件作為Fragment的顯示內容

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }

    public void click01(View v){
        fragment fg1 = new fragment();
        FragmentManager fm = getFragmentManager();
        FragmentTransaction ft = fm.beginTransaction();
        ft.replace(R.id.f1,fg1);
        ft.commit();

    }
    public void click02(View v){
        fragment1 fg2 = new fragment1();
        FragmentManager fm = getFragmentManager();
        FragmentTransaction ft = fm.beginTransaction();
        ft.replace(R.id.f1,fg2);
        ft.commit();
    }
    public void click03(View v){
        fragment2 fg3 = new fragment2();
        FragmentManager fm = getFragmentManager();
        FragmentTransaction ft = fm.beginTransaction();
        ft.replace(R.id.f1,fg3);
        ft.commit();
    }

}
public class fragment1 extends Fragment {

    @Nullable
    @Override
    //返回的view對象會作為fragment的內容顯示在屏幕上
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
       View v =  inflater.inflate(R.layout.fragment1,null);
        return  v;
    }


}

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    tools:context="com.example.xnmeng.hello.MainActivity">

   <LinearLayout
       android:layout_width="wrap_content"
       android:layout_height="match_parent"
       android:orientation="vertical">
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="fragment01"
        android:onClick="click01"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="fragment02"
        android:onClick="click02"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="fragment03"
        android:onClick="click03"/>
   </LinearLayout>
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/f1">

    </FrameLayout>

</LinearLayout>

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ff0000">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="紅色"/>

</LinearLayout>

結果:

點擊左邊的三個按鈕,右邊顯示相應的顏色。


###生命周期
* fragment切換時舊fragment對象會銷毀,新的fragment對象會被創建
###低版本兼容
* 在support-v4.jar包中有相關api,也就是說fragment可以在低版本模擬器運行

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved