Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android之fragment初探

Android之fragment初探

編輯:關於Android編程

比賽項目要接觸到fragment,所以我要學它啦 我覺得學習Android的方法是邊學邊用,需要用什麼你就學什麼,然後你用完要記住它,而對於我來說,記住的比較好的方法是做下筆記寫下blog,不一定以後會再重看blog,但是寫多一遍印象也會深刻點,況且,你要是哪天真的重看起來了呢 哈哈哈!

學習了Fragment後,我大概了解到Fragment是一個類似於Activity的東西,然後是為了使大屏幕電子產品如平板,大屏幕手機或者說小屏幕但是橫屏的情況下等,因為如果是在大屏幕上用小屏幕的一個標准來為其寫應用界面的話,那就會顯得很空洞不協調等,而Fragment恰好可以解決這個缺點,那就是多個Fragment在同一個Activity中。

Fragment使用的兩種方式

1.在XMl中使用Fragment

寫布局文件-->寫類(繼承Fragment),在類內加載對應的布局-->寫mainactivity的布局(用Fragment標簽添加繼承Fragment的類)

2.動態添加Fragment

動態添加Fragment主要分為4步:

1.獲取到FragmentManager,在Activity中可以直接通過getFragmentManager得到。
2.開啟一個事務,通過調用beginTransaction方法開啟。
3.向容器內加入Fragment,一般使用replace方法實現,需要傳入容器的id和Fragment的實例。
4.提交事務,調用commit方法提交。

以下是動態添加Fragment的demo

public class MainActivity extends Activity 
{       
	@Override       
	protected void onCreate(Bundle savedInstanceState) 
	{                
		super.onCreate(savedInstanceState);                
		setContentView(R.layout.activity_main);               
		Display display = getWindowManager().getDefaultDisplay();               
		if (display.getWidth() > display.getHeight()) 
		{                        
			Fragment1 fragment1 = new Fragment1();                        
			getFragmentManager().beginTransaction().replace(R.id.main_layout, fragment1).commit();                
		} 
		else 
		{                       
			Fragment2 fragment2 = new Fragment2();                        
			getFragmentManager().beginTransaction().replace(R.id.main_layout, fragment2).commit();
		}        
	}
}

Fragment和Activity一樣有自己的生命周期,具體如果想了解其生命周期的具體建議用locat查看輸入去觀察

下面介紹下Fragment的幾個方法

onAttach方法:Fragment和Activity建立關聯的時候調用。

onCreateView方法:為Fragment加載布局時調用。

onActivityCreated方法:當Activity中的onCreate方法執行完後調用。

onDestroyView方法:Fragment中的布局被移除時調用。

onDetach方法:Fragment和Activity解除關聯的時候調用。

關於Fragment,還有一個問題就是多個Fragment之間的通信,比如說要獲取另一個Fragment的空間的數據,那要怎麼操作呢?

getActivity方法可以讓Fragment獲取到關聯的Activity,然後再調用Activity的findViewById方法,就可以獲取到和這個Activity關聯的其它Fragme nt的視圖了。

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