android開發首頁基本框架搭建
阿新 • • 發佈:2019-02-09
第一點: 專案的需求介紹
android 開發中首頁的搭建一般都是底部四部分(是個view就可以),上面是fragment,要實現的效果是,第一,不可以滑動;第二,第一次啟動進來的時候預設啟動一個fragment,點選哪一個就讓哪一個加載出來;第三,一旦載入一次後,再次點選這個fragment就不要讓他在重複載入了。
第二點:fragment的幾個方法介紹
主要的方法有,replace,add,show,hide,remove,而replace和add的區別就是,replace切換的時候會將fragment的生命週期走完,也就是說每一次切換這個fragment都會重新載入;而add切換的時候不會銷燬前一個fragment,這樣就可以使載入完一次後就不需要在重新載入了,呼叫show方法就可以了。
第三點:主要程式碼的展示
/** * 設定進去預設展示的fragment * * @param fragment */ public void setDefaultFragment(Fragment fragment) { fragmentTransaction = getSupportFragmentManager().beginTransaction(); //預設新增一個fragment fragmentTransaction.add(R.id.content, fragment).commit(); //add的話fragment有兩層fragment,mFragment是中間轉換的fragment,每一次切換的時候都把切換的值賦給他 mFragment = fragment; text1.setTextColor(ContextCompat.getColor(this, R.color.colorAccent)); }
/** * 切換fragment的方法 * * @param fragment */ public void switchFragment(Fragment fragment, TextView textView) { if (mFragment != fragment) {//選擇的不是上一次設定的那個fragment fragmentTransaction = getSupportFragmentManager().beginTransaction(); //判斷是否新增過 if (!fragment.isAdded()) {//沒有被新增過,隱藏當前的fragment,add下一個到Activity中 fragmentTransaction.hide(mFragment).add(R.id.content, fragment).commit(); } else {//已經被新增過,隱藏當前的fragment,show下一個到Activity中 fragmentTransaction.hide(mFragment).show(fragment).commit(); } mFragment = fragment;//賦值給轉化的mFragment } else { Toast.makeText(this, "我是剛才選過的", Toast.LENGTH_SHORT).show(); } textView.setTextColor(ContextCompat.getColor(this, R.color.colorAccent)); }