編輯:關於Android編程
Fragment相當於一個小型activity,因為Fragment可以實現activity中所有的功能,不同的是Fragment可以嵌入activity,一個activity可以有多個Fragment,而且可以運行時根據需要切換Fragment,達到可以適應不同屏幕大小等目的需要。
本章來看看如何在activity中嵌入Fragment的方法,有靜態和動態方法的。
靜態方法就是使用xml直接嵌入,動態就是在Java代碼中嵌入。
方法:
1 按照默認設置新建項目
2 新建一個類命名為Fragment1.java
代碼如下:
package bill.su.fragment; 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, container, false); } }3 新建layout的xml文件,輸入代碼如下:
package bill.su.fragment; 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, container, false); } }
<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+1eLR+c2s0ru49mFjdGl2aXR51tDHtsjrwcvBvbj2srvNrLXERnJhZ21lbnTBy6GjPC9wPgo8cD7V4tH5u/mxvsnPsrvTw9C0SmF2YbT6wuuhozwvcD4KPHA+PGJyPgo8L3A+CjxwPsjnufvU2mFjdGl2aXR5tcRKYXZhtPrC69bQyrXP1rXEu7CjrL7N1rvQ6NKq0N64xG9uQ3JlYXRluq/K/b7Nv8nS1KO6PC9wPgo8cD48cHJlIGNsYXNzPQ=="brush:java;"> @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FragmentManager fragManager = getFragmentManager();
FragmentTransaction fragTrans = fragManager.beginTransaction();
// get the current display info
WindowManager wm = getWindowManager();
Display d = wm.getDefaultDisplay();
if (d.getWidth() < d.getHeight()) {
Fragment1 frag1 = new Fragment1();
fragTrans.replace(android.R.id.content, frag1);
}
else {
Fragment2 frag2 = new Fragment2();
fragTrans.replace(android.R.id.content, frag2);
}
fragTrans.commit();
}
知識點:
使用FragmentManager和FragmentTransaction兩個類實現動態載入Fragment。
其中的WindowManager是為了得到當前屏幕的長和寬,判斷是橫屏韓式豎屏,並根據這判斷載入不同的Fragment,得到不同的效果。
最後一句FragTrans.commit()是必須的,這樣才能使得Fragment載入成功。
到達一定境界了,這些全部都成為很容易很簡單的東西了,學一些新知識點並不難,難是在於記憶,更難的是在於靈活運用,還有更加更加難的是如何運用這些知識創造價值,最難的是創造別人無法創造的價值。
一.前面講了,MainFragment的布局就是一個ViewPager,而ViewPager的一個個頁面就是首頁,日常心理學,用戶推薦日報,電影日報,不許無聊,設計日報,
Activity:作為四大組件之一,也是與用戶交互最多的組件,因此為了更好的交互效果,了解Activity的生命周期,正確分配每個階段該完成的工作就顯得十分必要,例如:
隨著移動互聯網的快速發展,它已經和我們的生活息息相關了,在公交地鐵裡面都能看到很多人的人低頭看著自己的手機屏幕,從此“低頭族”一詞就產生了,作為一
Service 是一個可以在後台執行長時間運行操作而不使用用戶界面的應用組件。服務可由其他應用組件啟動,而且即使用戶切換到其他應用,服務仍將在後台繼續運行。 此外,組件可