1-AVI–Fragment基礎使用

張風捷特烈發表於2018-08-28

零、前言

[1].Fragment靜態使用
[2].Fragment動態使用

一、Fragment靜態使用

靜態fragment.jpg
1.藍色佈局:blue.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@color/colorPrimary"
                android:orientation="vertical" >
    <TextView
        android:id="@+id/blue_tv"
        android:layout_centerInParent="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="藍色Fragment"
        />
</RelativeLayout>
2.黃色佈局:yellow.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
                android:background="@color/yellow"
              android:orientation="vertical" >
    <TextView
        android:id="@+id/yellow_tv"
        android:layout_centerInParent="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="黃色Fragment"
        />
</RelativeLayout>
3.黃色Fragment:YellowFragment.java
/**
 * 作者:張風捷特烈<br/>
 * 時間:2018/8/28 0028:13:07<br/>
 * 郵箱:1981462002@qq.com<br/>
 * 說明:黃色Fragment
 */
public class YellowFragment extends Fragment {

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

        return inflater.inflate(R.layout.yellow, container, false);
    }
}
4.綠色Fragment:BlueFragment.java
/**
 * 作者:張風捷特烈<br/>
 * 時間:2018/8/28 0028:13:07<br/>
 * 郵箱:1981462002@qq.com<br/>
 * 說明:綠色Fragment
 */
public class BlueFragment extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        
        return inflater.inflate(R.layout.fragment_bottom, container, false);
    }
}

5.主佈局:layout/activity_static.xml
<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".activity.ActFragmentActivity">

    <fragment
        android:id="@+id/yellow_fragment1"

        android:name="com.toly1994.avi_fragment.staticFg.YellowFragment"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"/>

    <View
        android:background="@color/gray_8f"
        android:layout_width="match_parent"
        android:layout_height="1dp"/>

    <fragment
        android:id="@+id/yellow_fragment2"

        android:name="com.toly1994.avi_fragment.staticFg.YellowFragment"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"/>

    <fragment
        android:id="@+id/blue_fragment"
        android:name="com.toly1994.avi_fragment.staticFg.BlueFragment"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="4"/>
</LinearLayout>
6.使用:StaticFragmentActivity.java
public class StaticFragmentActivity extends AppCompatActivity {

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

二、動態使用

public class ActFragmentActivity extends FragmentActivity {

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

    /**
     * 動態載入Fragment
     */
    private void initFragment() {
        FragmentManager fm = getFragmentManager();//1.獲取FragmentManager
        FragmentTransaction ft = fm.beginTransaction();//2.fm開啟事務
        //3.動態新增 (控制元件id,fragment物件)
        ft.add(R.id.fl_title, new YellowFragment());
        ft.add(R.id.fl_content, new BlueFragment());
        ft.commit();//4.提交事務
    }
}
動態使用fragment.png

後記、

1.宣告:

[1]本文由張風捷特烈原創,轉載請註明
[2]歡迎廣大程式設計愛好者共同交流
[3]個人能力有限,如有不正之處歡迎大家批評指證,必定虛心改正
[4]你的喜歡與支援將是我最大的動力

2.連線傳送門:

更多安卓技術歡迎訪問:安卓技術棧
我的github地址:歡迎star
簡書首發,騰訊雲+社群同步更新
張風捷特烈個人網站,程式設計筆記請訪問:http://www.toly1994.com

3.聯絡我

QQ:1981462002
郵箱:1981462002@qq.com
微信:zdl1994328

4.歡迎關注我的微信公眾號,最新精彩文章,及時送達:
公眾號.jpg


相關文章