drawable ----- tab_home_selector (图标)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/home_icon_true" android:state_checked="true"/>
<item android:drawable="@mipmap/home_icon_false" />
</selector>
drawable ----- tab_text_color_selector(字体颜色)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#00C7B7" android:state_checked="true" />
<item android:color="#012742" />
</selector>
Values ------ Style
<!-- 底部导航栏 -->
<style name="TabRadioButton">
<item name="android:layout_width">@dimen/dp_0</item>
<item name="android:layout_weight">1</item>
<item name="android:layout_height">match_parent</item>
<item name="android:padding">@dimen/dp_5</item>
<item name="android:gravity">center</item>
<item name="android:button">@null</item>
<item name="android:textSize">@dimen/sp_14</item>
<item name="android:textColor">@drawable/tab_text_color_selector</item>
</style>
XML布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".view.activity.MainActivity"
android:orientation="vertical">
<androidx.viewpager.widget.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/group"/>
<RadioGroup
android:id="@+id/group"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_60"
android:orientation="horizontal"
android:layout_alignParentBottom="true"
android:background="@color/_dddddd">
<RadioButton
android:id="@+id/show"
style="@style/TabRadioButton"
android:drawableTop="@drawable/tab_home_selector"
android:text="@string/shouye"
android:checked="true"/>
<RadioButton
android:id="@+id/groupbook"
style="@style/TabRadioButton"
android:drawableTop="@drawable/tab_home_selector"
android:text="@string/pintuanjilu"/>
<RadioButton
android:id="@+id/college"
style="@style/TabRadioButton"
android:drawableTop="@drawable/tab_home_selector"
android:text="@string/shangxueyuan"/>
<RadioButton
android:id="@+id/my"
style="@style/TabRadioButton"
android:drawableTop="@drawable/tab_home_selector"
android:text="@string/gerenzhongxin"/>
</RadioGroup>
</RelativeLayout>
Activity
public class MainActivity extends BaseActivity implements ShowView {
private ViewPager viewpager;
private RadioGroup group;
private ArrayList<Fragment> fragments;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//id
viewpager = findViewById(R.id.viewpager);
group = findViewById(R.id.group);
//fragment
ShowFragment showFragment = new ShowFragment();
GroupBookFragment groupBookFragment = new GroupBookFragment();
CollegeFragment collegeFragment = new CollegeFragment();
MyFragment myFragment = new MyFragment();
//添加到集合
fragments = new ArrayList<Fragment>();
fragments.add(showFragment);
fragments.add(groupBookFragment);
fragments.add(collegeFragment);
fragments.add(myFragment);
//设置适配器
viewpager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
@NonNull
@Override
public Fragment getItem(int position) {
return fragments.get(position);
}
@Override
public int getCount() {
return fragments.size();
}
});
//点击按钮切换页面
group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId){
case R.id.show:
viewpager.setCurrentItem(0);
break;
case R.id.groupbook:
viewpager.setCurrentItem(1);
break;
case R.id.college:
viewpager.setCurrentItem(2);
break;
case R.id.my:
viewpager.setCurrentItem(3);
break;
}
}
});
//切换页面改变按钮
viewpager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
switch (position){
case 0:
group.check(R.id.show);
break;
case 1:
group.check(R.id.groupbook);
break;
case 2:
group.check(R.id.college);
break;
case 3:
group.check(R.id.my);
break;
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
}
@Override
public void onSuccess(@NonNull ShowBean model) {
}
@Override
public void onFailure(int code, String msg) {
}