多一分心力去注意别人,就少一分心力反省自己。
本讲内容:Fragment+RadioGroup实现底部菜单栏
示例一:可点击不可滑动(布局文件和上一讲相同,这里就不贴了)
下面是res/layout/activity_main.xml 布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<include layout="@layout/top" />
<FrameLayout
android:id="@+id/id_content"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<include layout="@layout/bottom"/>
</LinearLayout>
下面是Tab01Fragment.java文件:(其它三个类似,这里就不贴了)
public class Tab01Fragment extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.tab01, container, false);
return view;
}
}
下面是MainActivity.java主界面文件:
public class MainActivity extends FragmentActivity {
private RadioGroup mRadioGroup;
private RadioButton mRadio01;
private RadioButton mRadio02;
private RadioButton mRadio03;
private RadioButton mRadio04;
private Fragment mTab01;
private Fragment mTab02;
private Fragment mTab03;
private Fragment mTab04;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
initViews();
initEvent();
setSelect(mTab01);//默认选中第一个
}
private void initViews() {
mRadioGroup=(RadioGroup) findViewById(R.id.id_radioGroup);
mRadio01=(RadioButton) findViewById(R.id.id_tab1);
mRadio02=(RadioButton) findViewById(R.id.id_tab2);
mRadio03=(RadioButton) findViewById(R.id.id_tab3);
mRadio04=(RadioButton) findViewById(R.id.id_tab4);
mTab01=new Tab01Fragment();
mTab02=new Tab02Fragment();
mTab03=new Tab03Fragment();
mTab04=new Tab04Fragment();
}
private void initEvent() {
mRadioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.id_tab1:
setSelect(mTab01);
break;
case R.id.id_tab2:
setSelect(mTab02);
break;
case R.id.id_tab3:
setSelect(mTab03);
break;
case R.id.id_tab4:
setSelect(mTab04);
break;
}
}
});
}
/**
* 选择页卡
*/
private void setSelect(Fragment fragment){
FragmentManager manager=getSupportFragmentManager();
FragmentTransaction transaction=manager.beginTransaction();
transaction.replace(R.id.id_content, fragment);
transaction.commit();
}
}
Take your time and enjoy it 要原码的、路过的、学习过的请留个言,顶个呗~~