Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android Fragment入門

android Fragment入門

編輯:關於Android編程

Fragment是android3.0引入的,為什麼google推出Fragment呢?主要目的是用在大屏幕設備上--例如平板電腦上,支持更加動態和靈活的UI設計。平板電腦的屏幕要比手機的大得多,有更多的空間來放更多的UI組件,並且這些組件之間會產生更多的交互,Fragment允許這樣的一種設計,而不需要你親自來管理 viewhierarchy的復雜變化。 通過將activity的布局分散到fragment中, 你可以在運行時修改activity的外觀,可以把Fragment看作是activity界面上的一部分,首先看下圖:

\

\

第一張圖我們看到,點擊左邊的item跳轉到右邊的布局上顯示,這時候就要啟動一個activity,而下面的圖點擊左邊的item,可以在右邊顯示,用Fragment來顯示就行,而不用啟動activity,我們知道activity是android的組件,所以它比Fragment占用的內存就大,這就是為什麼在大點的屏幕推薦使用Fragment<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+z9bU2rS0vajSu7j2QW5kcm9pZM/uxL9GcmFnbWVudDE8L3A+CjxwPmFjdGl2aXR5X21haW4ueG1sPC9wPgo8cD48cHJlIGNsYXNzPQ=="brush:java;">
在布局中發現一個節點fragment,而我們以前layout中view都是大寫字母開頭,比如:TextView,所以fragment並不是一個view對象,而是一種類型,android:name指的是Fragment類的全類名,所以Fragment1要繼承Fragment對象,如果是使用 android.app.Fragment包下的,那麼指定的最小版本必須是11(android:minSdkVersion="11")小於11程序就會報錯,因為系統的Fragment是3.0出現的,

Fragment1.java

package com.example.fragment1;


import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class Fragment1 extends Fragment {

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

fragment1.xml


    




Fragment2.java

package com.example.fragment1;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class Fragment2 extends Fragment {
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		
		return inflater.inflate(R.layout.fragment2, null);
	}
}

fragment2.xml




    


MainActivity.java

package com.example.fragment1;
import android.os.Bundle;
import android.app.Activity;
public class MainActivity extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}
}

我們看到MainActivity類中並沒有寫任何代碼,這是靜態創建Fragment,效果圖:





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