本文實例為大家分享了android點擊按鈕切換不同布局的具體代碼,供大家參考,具體內容如下
郴州網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、響應式網(wǎng)站建設等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)建站成立與2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)建站。
先上效果圖:
如圖所示,實現(xiàn)點擊下面的按鈕切換不同的fragment布局;
不說了,先上主MainActivity代碼:
MainActivity.java:
package com.example.xh.twostylefragment; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.FragmentTransaction; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ //定義5個fragment private MyFragment f1; private MyFragment2 f2; private MyFragment3 f3; private MyFragment4 f4; private MyFragment5 f5; //定義底部5個按鈕 private Button foot1; private Button foot2; private Button foot3; private Button foot4; private Button foot5; int i = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); foot1 = (Button) findViewById(R.id.btn1);//注冊按鈕 foot2 = (Button) findViewById(R.id.btn2); foot3 = (Button) findViewById(R.id.btn3); foot4 = (Button) findViewById(R.id.btn4); foot5 = (Button) findViewById(R.id.btn5); foot1.setOnClickListener(this);//對按鈕設置監(jiān)聽 foot2.setOnClickListener(this); foot3.setOnClickListener(this); foot4.setOnClickListener(this); foot5.setOnClickListener(this); //第一次初始化首頁默認顯示第一個fragment initFragment1(); } //顯示第一個fragment private void initFragment1(){ //開啟事務,fragment的控制是由事務來實現(xiàn)的 FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); //第一種方式(add),初始化fragment并添加到事務中,如果為null就new一個 if(f1 == null){ f1 = new MyFragment(); transaction.add(R.id.main_frame_layout, f1); } //隱藏所有fragment hideFragment(transaction); //顯示需要顯示的fragment transaction.show(f1); //第二種方式(replace),初始化fragment // if(f1 == null){ // f1 = new MyFragment("首頁"); // } // transaction.replace(R.id.main_frame_layout, f1); //提交事務 transaction.commit(); } //顯示第二個fragment private void initFragment2(){ FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); if(f2 == null){ f2 = new MyFragment2(); transaction.add(R.id.main_frame_layout,f2); } hideFragment(transaction); transaction.show(f2); // if(f2 == null) { // f2 = new MyFragment("分類"); // } // transaction.replace(R.id.main_frame_layout, f2); transaction.commit(); } //顯示第三個fragment private void initFragment3(){ FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); if(f3 == null){ f3 = new MyFragment3(); transaction.add(R.id.main_frame_layout,f3); } hideFragment(transaction); transaction.show(f3); // if(f3 == null) { // f3 = new MyFragment("發(fā)現(xiàn)"); // } // transaction.replace(R.id.main_frame_layout, f3); transaction.commit(); } private void initFragment4(){ FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); if(f4 == null){ f4 = new MyFragment4(); transaction.add(R.id.main_frame_layout,f4); } hideFragment(transaction); transaction.show(f4); // if(f4 == null) { // f4 = new MyFragment("購物車"); // } // transaction.replace(R.id.main_frame_layout, f4); transaction.commit(); } private void initFragment5(){ FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); if(f5 == null){ f5 = new MyFragment5(); transaction.add(R.id.main_frame_layout,f5); } hideFragment(transaction); transaction.show(f5); // if(f5 == null) { // f5 = new MyFragment("我的); // } // transaction.replace(R.id.main_frame_layout, f5); transaction.commit(); } //隱藏所有的fragment private void hideFragment(FragmentTransaction transaction){ if(f1 != null){ transaction.hide(f1); } if(f2 != null){ transaction.hide(f2); } if(f3 != null){ transaction.hide(f3); } if(f4 != null){ transaction.hide(f4); } if(f5 != null){ transaction.hide(f5); } } @Override public void onClick(View v) {//點擊哪個按鈕就顯示哪個fragment; if(v == foot1){ initFragment1(); }else if(v == foot2){ initFragment2(); }else if(v == foot3){ initFragment3(); }else if(v == foot4){ initFragment4(); }else if(v == foot5){ initFragment5(); } } }
大家需要創(chuàng)建5個fragment,還有對應的xml文件,這里我給大家展示我創(chuàng)建的MyFragment4.java:
package com.example.xh.twostylefragment; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; /** * Created by Administrator on 2016/7/8. */ public class MyFragment4 extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = LayoutInflater.from(getActivity()).inflate(R.layout.shoppingcar,container,false);//用view保存shoppingcar.xml布局,大家可以 return view; //自己創(chuàng)建一個xml. } }
差不多就是這樣的了,有問題大家可以提出來。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
網(wǎng)站題目:android實現(xiàn)點擊按鈕切換不同的fragment布局
瀏覽路徑:http://jinyejixie.com/article30/ggedso.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供Google、用戶體驗、品牌網(wǎng)站建設、手機網(wǎng)站建設、App設計、網(wǎng)站設計公司
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)