布局:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <FrameLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="9" android:id="@+id/main_frame" /> <RadioGroup android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:orientation="horizontal" android:id="@+id/main_rg" > <RadioButton android:layout_width="0dp" android:layout_height="match_parent" android:id="@+id/main_rbtn1" android:text="@string/ye1" android:layout_weight="1" android:gravity="center" android:button="@null" /> <RadioButton android:layout_width="0dp" android:layout_height="match_parent" android:id="@+id/main_rbtn2" android:text="@string/ye2" android:layout_weight="1" android:gravity="center" android:button="@null" /> </RadioGroup> </LinearLayout>
MainActivity :
package com.example.fragment_qiehuang; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v7.app.AppCompatActivity; import android.widget.FrameLayout; import android.widget.RadioButton; import android.widget.RadioGroup; import com.example.fragment_qiehuang.frament.FragmentOne; import com.example.fragment_qiehuang.frament.FragmentTwo; import java.util.ArrayList; import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; public class MainActivity extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener { @BindView(R.id.main_frame) FrameLayout mainFrame; @BindView(R.id.main_rbtn1) RadioButton mainRbtn1; @BindView(R.id.main_rbtn2) RadioButton mainRbtn2; @BindView(R.id.main_rg) RadioGroup mainRg; private FragmentManager fragmentManager; private List<Fragment> fragmentList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); init(); setOnClick(); //默认选中需要放在点击事件后面 mainRg.check(R.id.main_rbtn1); } private void init() { fragmentList=new ArrayList<>(); fragmentList.add(new FragmentOne()); fragmentList.add(new FragmentTwo()); fragmentManager = getSupportFragmentManager(); } private void setOnClick() { mainRg.setOnCheckedChangeListener(this); } @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId){ case R.id.main_rbtn1: changefragment(fragmentList.get(0)); break; case R.id.main_rbtn2: changefragment(fragmentList.get(1)); break; } } private void changefragment(Fragment fragment) { fragmentManager.beginTransaction().replace(R.id.main_frame,fragment).commit(); } }