selector_treasure_rb_img.xml
<?xml version="1.0" encoding="utf-8"?>selector_home_rb_img.xml
<?xml version="1.0" encoding="utf-8"?>selector_otc_rb_img.xml
<?xml version="1.0" encoding="utf-8"?>selector_my_rb_img.xml
<?xml version="1.0" encoding="utf-8"?>大体图片命名如下:
所有图片都已经放在这里了,另存为 添加到自己的文件夹再命名即可。
main_rb_style样式如下,放在styles.xml中
选中按钮相应的文字颜色变化样式如下
selector_main_rb_text_color.xml
<?xml version="1.0" encoding="utf-8"?>做完这些你就可以看到这样的效果图
到这一步,点击效果就可以了,然后就是在ViewPager中添加碎片Fragment,添加五个碎片,因为涉及到项目的机密,所以我这里命名就不那么规范了,就用英文的1~5来命名了 。(实际开发中一定不要这样,因为这样的命名没有意义,还会增加后期代码维护的难度,如果是一个接手你项目的人看到这种命名方式,估计你要被叼的。)
2 创建碎片
然后创建一个OneFragment 和fragment.xml
代码如下:
OneFragment
public class OneFragment extends Fragment {
@Override
public View onCreateView(final LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.fragment_one,
container, false);
return view;
}
}
fragment_one.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout 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”
android:gravity=“center”
tools:context=“.fragment.OneFragment”>
<TextView
android:textSize=“@dimen/sp_40”
android:textColor=“@color/blue”
android:text=“ONE”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”/>
后面四个我就不一一列出来了,代码都差不多,改个名字就可以了。
3.创建适配器
然后创建一个适配器 MainFragmentPagerAdapter 用于加载碎片
代码如下
public class MainFragmentPagerAdapter extends FragmentPagerAdapter {
List mFragmentList;
public MainFragmentPagerAdapter(FragmentManager fm, List list) {
super(fm);
mFragmentList=list;
}
@Override
public Fragment getItem(int i) {
return mFragmentList.get(i);
}
@Override
public int getCount() {
return mFragmentList!=null?mFragmentList.size():0;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
// super.destroyItem(container, position, object);
}
}
4.绑定数据
最后再MainActivity中 初始化控件以及绑定RadioGroup即可实现效果
public class MainActivity extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener {
List fragmentList = new ArrayList<>();
MainFragmentPagerAdapter adapter;
ViewPager viewPager;
RadioGroup rg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
initView();
//绑定RadioButton
initViewPager();
}
private void initView() {
viewPager = findViewById(R.id.viewPager);
rg = findViewById(R.id.rg);
rg.setOnCheckedChangeListener(this);
rg.getChildAt(0).performClick();
}
private void initViewPager() {
//添加碎片
fragmentList.add(new OneFragment());
fragmentList.add(new TwoFragment());
fragmentList.add(new ThreeFragment());
fragmentList.add(new FourFragment());
fragmentList.add(new FiveFragment());
adapter = new MainFragmentPagerAdapter(getSupportFragmentManager(), fragmentList);
viewPager.setAdapter(adapter);
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i1) {
}
@Override
public void onPageSelected(int i) {
switch (i) {
case 0:
rg.check(R.id.rb_wallet);
break;
case 1:
rg.check(R.id.rb_treasure);
break;
case 2:
rg.check(R.id.rb_home);
break;
case 3:
rg.check(R.id.rb_otc);
break;
case 4:
rg.check(R.id.rb_my);
break;
}
}
@Override
public void onPageScrollStateChanged(int i) {
}
文末
对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。 整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。
最后想要拿高薪实现技术提升薪水得到质的飞跃。最快捷的方式,就是有人可以带着你一起分析,这样学习起来最为高效,所以为了大家能够顺利进阶中高级、架构师,我特地为大家准备了一套高手学习的源码和框架视频等精品Android架构师教程,保证你学了以后保证薪资上升一个台阶。
当你有了学习线路,学习哪些内容,也知道以后的路怎么走了,理论看多了总要实践的。
进阶学习视频
附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
跃。最快捷的方式,就是有人可以带着你一起分析,这样学习起来最为高效,所以为了大家能够顺利进阶中高级、架构师,我特地为大家准备了一套高手学习的源码和框架视频等精品Android架构师教程,保证你学了以后保证薪资上升一个台阶。
当你有了学习线路,学习哪些内容,也知道以后的路怎么走了,理论看多了总要实践的。
进阶学习视频
[外链图片转存中…(img-PZVH291w-1714954160980)]
附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
[外链图片转存中…(img-vYc1LmGS-1714954160982)]
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!