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变回来

目录
相关文章
|
Android开发
Android 中使用RadioGroup+Fragment实现底部导航栏的功能
Android 中使用RadioGroup+Fragment实现底部导航栏的功能
113 0
|
存储 Android开发
android ViewPager + Fragment + Tablayout 实现嵌套页面导航(二)
android ViewPager + Fragment + Tablayout 实现嵌套页面导航
android ViewPager + Fragment + Tablayout 实现嵌套页面导航(二)
|
容器
Fragment——底部导航栏的实现
本节开始我们会讲解一些Fragment在实际开发中的一些实例!而本节给大家讲解的是底部导航栏的实现!而基本的底部导航栏方法有很多种,比如全用TextView做,或者用RadioButton,又或者使用TabLayout + RadioButton,当然复杂的情况还是得走外层套布局的方法!本节我们用TextView来做一个底部导航栏的效果,也熟悉下Fragment的使用!
119 0
|
XML Android开发 数据格式
Android 底部导航栏(二、自定义View+Fragment)
上一片文章用的是BottomNavigationView+Menu+Fragment,但是可能有时候需求不一样,menu的样式不太够,所以需要自定义View来实现。
|
编译器 Android开发 容器
android ViewPager + Fragment + Tablayout 实现嵌套页面导航(一)
android ViewPager + Fragment + Tablayout 实现嵌套页面导航
android ViewPager + Fragment + Tablayout 实现嵌套页面导航(一)
|
数据安全/隐私保护
RadioGroup+ViewPager +Fragment 制作APP主界面底部导航和左右滑动
RadioGroup+ViewPager +Fragment 制作APP主界面底部导航和左右滑动
139 0
Fragment懒加载(四) 与 EditText在PopupWindow上的BUG
这篇讲两个内容,因为感觉内容都太少了,所以就合起来写一篇算了。 一.Fragment懒加载(四)对Fragment的封装 我之前写过一篇文章说过要实现Fragment的懒加载,要定义3个参数,如果进行懒更新的话还要加一个参数,所以想想如果你的每个fragment都要定义4个参数,至少我觉得这样的代码扩展性不是很好,所以我就写了个LazyFragment对懒加载的操作进行封装。
1136 0

热门文章

最新文章