簡單的說 :
V4 開發包 : 針對Android 3.0 以下(API 11 以下用戶 )設置。
原生SDK : 針對Android 3.0以上 ( API 11 以上用戶 ) 設置。
加載方式 : 靜態 、 動態
靜態加載
fragment
動態加載
LinearLayout
直接介紹最常用的動態加載
剛開始接觸的大大一定會被網路上多個範例搞得頭昏腦脹吧 !
我們直接用手機介面介紹( 官方有介紹平板跟手機的應用 )
以下的圖,是我所想到離生活最近的範例。
其實真的不用想太多
1 . 在 Activity 劃一個投影區塊(LinearLayout)
2 . 新增繼承 Fragment 的頁面
3 . 在 Activity 的 LinearLayout 載入 Fragment
4 . 結束
以下有範例,只需要新增此程式,不須註冊 Activity
frist_fragment.xml
FristFragment.java
activity_main.xml
MainActivity.java
至於為什麼要加 addToBackStack?
參考資訊 : Android Fragment
歡迎轉載,請註明出處。
加載方式 : 靜態 、 動態
靜態加載
fragment
動態加載
LinearLayout
直接介紹最常用的動態加載
剛開始接觸的大大一定會被網路上多個範例搞得頭昏腦脹吧 !
我們直接用手機介面介紹( 官方有介紹平板跟手機的應用 )
以下的圖,是我所想到離生活最近的範例。
其實真的不用想太多
1 . 在 Activity 劃一個投影區塊(LinearLayout)
2 . 新增繼承 Fragment 的頁面
3 . 在 Activity 的 LinearLayout 載入 Fragment
4 . 結束
以下有範例,只需要新增此程式,不須註冊 Activity
frist_fragment.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:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="Frist" />
</LinearLayout>
FristFragment.java
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class FristFragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//
View view = inflater.inflate(R.layout.frist_fragment, container, false);
return view;
}
}
activity_main.xml
<RelativeLayout 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" >
<LinearLayout
android:id="@+id/linearLayout_01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
</RelativeLayout>
MainActivity.java
import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FristFragment fragment2=new FristFragment();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction beginTransaction = fragmentManager.beginTransaction();
beginTransaction.add(R.id.linearLayout_01, fragment2);
beginTransaction.addToBackStack(null);
beginTransaction.commit();
// 或
if (savedInstanceState == null) {
getFragmentManager()
.beginTransaction()
.add(R.id.linearLayout_1, new FristFragment())
.commit();
}
}
}
至於為什麼要加 addToBackStack?
參考資訊 : Android Fragment
歡迎轉載,請註明出處。
沒有留言:
張貼留言