AndroidStudio制作底部导航栏以及用Fragment实现切换功能
2023年7月13日发(作者:)
AndroidStudio制作底部导航栏以及⽤Fragment实现切换功能前⾔⼤家好,我是
Vic,今天给⼤家带来AndroidStudio制作底部导航栏以及⽤Fragment实现切换功能的概述,希望你们喜欢学习⽬标AndroidStudio制作底部导航栏以及⽤Fragment实现切换功能,⽤户点击底部导航栏可以实现三个模块的跳转。图⽚资源需要底部导航栏三个点击按钮的图⽚资源main_button_,main_button_,main_button_以及点击变换的图⽚资源main_button_1_,main_button_2_,main_button_3_.以上图⽚资源都放进drawable⽂件夹中activity_main 布局在 MainActivity 页⾯中主要有两个区域:⼀个是放 Fragment 的 main_body⼀个是放底部导航栏的 main_bottom_bar主要的Fragment代码块: 主要的底部导航栏的代码块: ....实例化控件实例化控件⼀些琐碎的代码://先实例化控件,那我给出⾃⼰打的实例化代码//来⾃main_title_ private TextView tv_main_title;//标题 private TextView tv_back;//返回按钮 private RelativeLayout title_bar;//来⾃activity_ private RelativeLayout main_body; private TextView bottom_bar_text_1; private ImageView bottom_bar_image_1; ... private LinearLayout main_bottom_bar; private RelativeLayout bottom_bar_1_btn; private RelativeLayout ...;然后initView();//实例化private void initView(){ //标题显⽰ tv_back=findViewById(_back); tv_main_title=findViewById(_main_title); title_bar=findViewById(_bar); //底部导航栏 main_body=findViewById(_body); bottom_bar_text_1=findViewById(_bar_text_1); bottom_bar_image_1=findViewById(_bar_image_1); ... //包含底部 android:id="@+id/main_bottom_bar" main_bottom_bar=findViewById(_bottom_bar); //private RelativeLayout bottom_bar_1_btn; bottom_bar_1_btn=findViewById(_bar_1_btn); //添加点击事件 bottom_bar_1_lickListener(this); ... //技巧 //tv_ibility(); tv_main_t("课程"); title_kgroundColor(olor("#30B4FF"));}底部导航栏状态的切换⽅法给MainActivity加⼀个setSelectStatus() ⽅法,⽅法⾥⽤参数index来判断当前选的按钮⽰例代码private void setSelectStatus(int index) { switch (index){ case 0: //图⽚点击选择变换图⽚,颜⾊的改变,其他变为原来的颜⾊,并保持原有的图⽚ bottom_bar_image_geResource(_button_1_selected); bottom_bar_text_tColor(olor("#0097F7")); //其他的⽂本颜⾊不变 bottom_bar_text_tColor(olor("#666666")); bottom_bar_text_tColor(olor("#666666")); //图⽚也不变 bottom_bar_image_geResource(_button_2); bottom_bar_image_geResource(_button_3); break; case 1://同理如上 ... break; case 2://同理如上 ... break; }}实现底部导航栏的响应导航栏⽂本颜⾊和图⽚切换效果的⽅法写好了,接下来是点击响应的⽅法给MainActivity加上kListener接⼝在⽣成的 onClick() ⽅法中加上导航栏区域的响应@Override public void onClick(View v) { switch (()){ case _bar_1_btn: setSelectStatus(0); break; case _bar_2_btn: setSelectStatus(1); break; case _bar_3_btn: setSelectStatus(2); break; }}别忘了在initView() 中添加监听器bottom_bar_1_lickListener(this);三个 fragment 的创建就是简单的创建三个布局,展现Fragment_1/2/3 即可⽰例代码块 然后通过我之前写的插件⾃动⽣成三个Fragemnt ,就可以了不⽤管⽣成的Fragement_1/2/⽂件了,插件⽂章《 Android开发的插件Code Generator与LayoutCreator的安装与使⽤,提升你的开发效率 》三个fragment的显⽰和切换在MainActivity⾥把AppCompatActivity改为FragmentActivity把Fragment加到Activity⾥的代码通常⽤这个来展⽰,但是代码过长,我们来简化⼀下/** FragmentManager manager = getSupportFragmentManager();* FragmentTransaction transaction = ransaction();* (_body,new CourseFragment()).commit();* */我们先来添加⼀个setMain() ⽅法,来显⽰打开界⾯时,显⽰的初始页⾯/⽤于打开初始页⾯ private void setMain() { //getSupportFragmentManager() -> beginTransaction() -> add -> (_boy,显⽰课程 new CourseFragment() portFragmentManager().beginTransaction().add(_body,new CourseFragment()).commit(); }上⾯的代码中可以看到相对来说⽐较少,那我们就⽤这个,然后我们来实现点击底部导航栏来切换响应的fragment,我们在onClick()中添加即可。case _bar_1_btn: //添加 getSupportFragmentManager().beginTransaction().replace(_body,new Button_1Fragment()).commit(); setSelectStatus(0); break;如果觉得不错,那就点个赞吧!❤
发布者:admin,转转请注明出处:http://www.yc00.com/web/1689212089a221715.html
评论列表(0条)