<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layoutFooter"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<!--android:background="@color/main_footer_bg"-->
<RadioGroup
android:id="@+id/group"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<RadioButton
android:id="@+id/foot_bar_home"
style="@style/main_footbar_radio"
android:checked="true"
android:drawableTop="@drawable/widget_bar_home_bg"
android:text="@string/main_navigation_home" />
<RadioButton
android:id="@+id/foot_bar_im"
style="@style/main_footbar_radio"
android:drawableTop="@drawable/widget_bar_im_bg"
android:text="@string/main_navigation_im" />
<RadioButton
android:id="@+id/foot_bar_interest"
style="@style/main_footbar_radio"
android:drawableTop="@drawable/widget_bar_interest_bg"
android:text="@string/main_navigation_interest" />
<RadioButton
android:id="@+id/main_footbar_user"
style="@style/main_footbar_radio"
android:drawableTop="@drawable/widget_bar_user_bg"
android:text="@string/main_navigation_user" />
</RadioGroup>
</LinearLayout>
导入方法 <include layout="@layout/layout_main_footer" />
java代码:
private void initFootBar() {
group = (RadioGroup) findViewById(R.id.group);
group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.foot_bar_home: currSel = 0; break;
case R.id.foot_bar_im: currSel = 1; break;
case R.id.foot_bar_interest: currSel = 2; break;
case R.id.main_footbar_user: currSel = 3; break;
}
addFragmentToStack(currSel);
if(currSel == 3) {
UIHelper.showLogin(MainActivity.this);
}
}
});
addFragmentToStack(0);
}
private void addFragmentToStack(int cur) {
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
Fragment fragment = fragmentList.get(cur);
if (!fragment.isAdded()) {
fragmentTransaction.add(R.id.fragment_container, fragment);
}
for (int i = 0; i < fragmentList.size(); i++) {
Fragment f = fragmentList.get(i);
if (i == cur && f.isAdded()) {
fragmentTransaction.show(f);
} else if (f != null && f.isAdded() && f.isVisible()) {
fragmentTransaction.hide(f);
}
}
fragmentTransaction.commitAllowingStateLoss();
}