Fragment底部导航栏

简介: 一个页面以微信为例,从上到下依次是状态栏,Activity顶部导航栏,Fragment,Activity底部导航栏。每点击一个底部导航栏都会replace另一个Fragment。

一个页面以微信为例,从上到下依次是状态栏,Activity顶部导航栏,Fragment,Activity底部导航栏。


每点击一个底部导航栏都会replace另一个Fragment。



1 设置主界面


1.1 设置底部导航栏UI


首先先在主Activity中——的XML文件中设置一个Fragment容器FragmentContainerView,以及一个底部导航栏(用线性布局设置)。


而要让fragment容器占满大部分屏幕,则要把权重设为1。


而底部导航栏的每个UI元素也是权重比例都是1:1:1。


额外:可以单独开一个XML的Layout的XML文件,把底部导航栏放进去,到时候直接include一个layoutt属性就可以了。


1.2 设置底部导航栏图标变色


设置selector选择器,这个item每当被选择state_selected="true"时指定一个@drawable触发变色。然后在xml文件中src设置图片。


1.3 Fragment容器和底部导航栏的分割线


View设置背景宽高——把高度设为2dp即可,颜色设置淡一点即可。



2 在Activity的Java代码中进行初始化


2.1 找控件


findViewById(线性布局容器,图片,文字等....)。



3 创建一个Fragment


3.1 设置Fragment的布局文件


你可以在Fragment的XML布局文件中设置各种各样的UI,这里只设置一个文字TextView


3.2 找控件


findViewById(文字)。


3.3  重置文字


如果Fragment被创建出来的时候,传进来的参数不为空,则把传进来的参数设置到文字上面。



4 Fragment添加至容器中(默认首页)


4.1 获取FragmentManager对象


getSupportFragmentManager()获得一个FragmentManager对象。


4.2 获取FragmentTransaction对象


beginTransaction()获取一个 FragmentTransaction对象。


4.3 替换Fragment


new一个Fragment,用newInstance,并且还能传入参数。



5 为每个线性布局添加点击事件


实现点击事件接口,并实现onclick方法,通过switch的v.getID()判断


5.1 给底部导航栏的icon和文字变色


icon:setSelected(true);


文字:setTextColor(getResources().getColor(R.color.xxx));



注意点击icon的时候要给其他的icon变回来

目录
相关文章
|
4月前
|
XML Android开发 数据格式
Android 中如何设置activity的启动动画,让它像dialog一样从底部往上出来
在 Android 中实现 Activity 的对话框式过渡动画:从底部滑入与从顶部滑出。需定义两个 XML 动画文件 `activity_slide_in.xml` 和 `activity_slide_out.xml`,分别控制 Activity 的进入与退出动画。使用 `overridePendingTransition` 方法在启动 (`startActivity`) 或结束 (`finish`) Activity 时应用这些动画。为了使前 Activity 保持静止,可定义 `no_animation.xml` 并在启动新 Activity 时仅设置新 Activity 的进入动画。
88 12
|
Android开发
Android 中使用RadioGroup+Fragment实现底部导航栏的功能
Android 中使用RadioGroup+Fragment实现底部导航栏的功能
101 0
|
容器
Fragment——底部导航栏的实现
本节开始我们会讲解一些Fragment在实际开发中的一些实例!而本节给大家讲解的是底部导航栏的实现!而基本的底部导航栏方法有很多种,比如全用TextView做,或者用RadioButton,又或者使用TabLayout + RadioButton,当然复杂的情况还是得走外层套布局的方法!本节我们用TextView来做一个底部导航栏的效果,也熟悉下Fragment的使用!
111 0
|
存储 Android开发
android ViewPager + Fragment + Tablayout 实现嵌套页面导航(二)
android ViewPager + Fragment + Tablayout 实现嵌套页面导航
android ViewPager + Fragment + Tablayout 实现嵌套页面导航(二)
|
XML Android开发 数据格式
Android 底部导航栏(一、BottomNavigationView+Menu+Fragment)
现在常用的App主页都会有一个底部导航栏,根据需求也使用过好几种方法进行实现,于是想着还是总结一下,今天还写一个简单的BottomNavigationView方法来实现这个功能
|
XML Android开发 数据格式
Android 底部导航栏(三、ViewPager+TabLayout+Fragment)简单易懂
底部导航栏在Android应用中随处可见,今天使用ViewPager+TabLayout+Fragment这三个控件来实现此功能。 前面使用了另外两个方法来实现导航栏,不过我还是更喜欢Viewpager,代码也少,毕竟前两个不能左右滑动。
|
编译器 Android开发 容器
android ViewPager + Fragment + Tablayout 实现嵌套页面导航(一)
android ViewPager + Fragment + Tablayout 实现嵌套页面导航
android ViewPager + Fragment + Tablayout 实现嵌套页面导航(一)
|
数据安全/隐私保护
RadioGroup+ViewPager +Fragment 制作APP主界面底部导航和左右滑动
RadioGroup+ViewPager +Fragment 制作APP主界面底部导航和左右滑动
132 0
RadioGroup+ViewPager +Fragment 制作APP主界面底部导航和左右滑动