android:id="@+id/rb_profile"
style="@style/Bottom.MainTabBar.Button"
android:button="@null"
android:drawableTop="@drawable/selector_main_tabbar_profile"
android:text="个人" />
</com.demo.test.view.NestedRadioGroup>
4.selector_main_tabbar_newmsg.xml
代码如下:
5.MainActivity.java
中代码如下,我不说多,直接理解就可以
......
private Fragment newMsgFragment;
private Fragment indexFragment;
private Fragment profileFragment;
......
public void init(){
newMsgFragment=new NewMsgFragment();
FragmentTransaction transaction=getFragmentManager().beginTransaction();
transaction.add(R.id.container, newMsgFragment, "newMsgFragment");
transaction.addToBackStack("newMsgFragment");
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
transaction.commit();
NestedRadioGroup tabBarRg=(NestedRadioGroup) findViewById(R.id.rg_main_tabbar);
tabBarRg.setOnCheckedChangeListener(new NestedRadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(NestedRadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.rb_new_msg:
if (newMsgFragment == null) {
newMsgFragment = new NewMsgFragment();
}
switchFragment(newMsgFragment, "newMsgFragment");
break;
case R.id.rb_index:
if (indexFragment == null) {
indexFragment = new IndexFragment();
}
switchFragment(indexFragment, "indexFragment");
break;
case R.id.rb_profile:
if (profileFragment == null) {
profileFragment = new ProfileFragment();
}
switchFragment(profileFragment, "profileFragment");
break;
default:
break;
}
}
});
}
public void switchFragment(Fragment fragment,String tag){
FragmentTransaction transaction=getFragmentManager().beginTransaction();
transaction.replace(R.id.container, fragment, tag);
transaction.addToBackStack(tag);
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
transaction.commit();
}
《960全网最全Android开发笔记》
《379页Android开发面试宝典》
《507页Android开发相关源码解析》
因为文件太多,全部展示会影响篇幅,暂时就先列举这些部分截图,大家可以点击这里自行领取。
标签: