主页面
package com.list.moni;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.RadioGroup;
import android.widget.TextView;
import com.list.moni.frag.Frag1;
import com.list.moni.frag.Frag2;
import com.list.moni.frag.Frag3;
import com.list.moni.frag.Frag4;
import com.list.moni.jilei.BaseActivity;
public class MainActivity extends BaseActivity {
private TextView title_11;
private FrameLayout fl_11;
private RadioGroup radio_11;
private Frag1 frag1;
private Frag2 frag2;
private Frag3 frag3;
private Frag4 frag4;
@Override
protected void initData() {
//开启事务
FragmentManager manager = getSupportFragmentManager();
final FragmentTransaction transaction = manager.beginTransaction();
//创建几个fragment
frag1 = new Frag1();
frag2 = new Frag2();
frag3 = new Frag3();
frag4 = new Frag4();
//帧布局
transaction.add(R.id.fl_11, frag1);
transaction.add(R.id.fl_11, frag2);
transaction.add(R.id.fl_11, frag3);
transaction.add(R.id.fl_11, frag4);
//默认第1个开启其他隐藏
transaction.show(frag1).hide(frag3).hide(frag2).hide(frag4).commit();
radio_11.check(radio_11.getChildAt(0).getId());
//点击radiogroup按钮
radio_11.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
//开启事务
FragmentManager manager1 = getSupportFragmentManager();
FragmentTransaction transaction1 = manager1.beginTransaction();
switch (checkedId) {
case R.id.rb_11:
//赋值
title_11.setText("消息");
transaction1.show(frag1).hide(frag2).hide(frag3).hide(frag4).commit();
break;
case R.id.rb_22:
//赋值
title_11.setText("联系人");
transaction1.show(frag2).hide(frag1).hide(frag3).hide(frag4).commit();
break;
case R.id.rb_33:
//赋值
title_11.setText("看点");
transaction1.show(frag3).hide(frag2).hide(frag1).hide(frag4).commit();
break;
case R.id.rb_44:
//赋值
title_11.setText("我的");
transaction1.show(frag4).hide(frag2).hide(frag3).hide(frag1).commit();
break;
}
}
});
}
@Override
protected void initView() {
//初始化控件
title_11 = findViewById(R.id.title_11);
fl_11 = findViewById(R.id.fl_11);
radio_11 = findViewById(R.id.radio_11);
}
@Override
protected int layoutResID() {
return R.layout.activity_main;
}
}
主布局
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/dl"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!--标题-->
<TextView
android:id="@+id/title_11"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center"
android:text="消息"
android:textSize="30sp" />
<!--帧布局站位-->
<FrameLayout
android:id="@+id/fl_11"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="10">
</FrameLayout>
<RadioGroup
android:id="@+id/radio_11"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/rb_11"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="2"
android:background="@drawable/rb_11"
android:button="@null"
android:gravity="center"
android:text="消息"
android:textSize="26sp" />
<RadioButton
android:id="@+id/rb_22"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="2"
android:background="@drawable/rb_11"
android:button="@null"
android:gravity="center"
android:text="联系人"
android:textSize="26sp" />
<RadioButton
android:id="@+id/rb_33"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="2"
android:background="@drawable/rb_11"
android:button="@null"
android:gravity="center"
android:text="看点"
android:textSize="26sp" />
<RadioButton
android:id="@+id/rb_44"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="2"
android:background="@drawable/rb_11"
android:button="@null"
android:gravity="center"
android:text="我的"
android:textSize="26sp" />
</RadioGroup>
</android.support.v4.widget.DrawerLayout>
Activity基类
package com.list.moni.jilei;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
public abstract class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(layoutResID());//布局
initView();//初始化控件
initData();//初始化数据
}
protected abstract void initData();
protected abstract void initView();
protected abstract int layoutResID();
}
模拟4个Fragment类和4个frgament布局