从零开始搭建app—首页导航栏实现(一)
来源:互联网 发布:艾瑞数据查询 编辑:程序博客网 时间:2024/05/17 02:46
要实现的效果
目前项目结构
说明:
目前计划应用由一个HomeActivity加载三个Fragment(HomeFragment,MessageFragment,MineFragment)做切换作为主体.
BaseFragement和BaseActivity为基类,为后期配置一些Activity和Fragemnt的共有属性做准备.
MyApplication为app一启动时,做一些初始操作。
首页底部导航栏实现
底部导航栏由一个横向排布radiogroup和三个radiobutton组成,布局如下。
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_home" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.lulu.myvedio.activity.HomeActivity"> <RadioGroup android:id="@+id/rbg" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:orientation="horizontal" > <RadioButton android:id="@+id/home" style="@style/home_rb_style" android:drawableTop="@drawable/select_mian" android:text="首页" /> <RadioButton android:id="@+id/message" style="@style/home_rb_style" android:drawableTop="@drawable/select_message" android:text="信息" /> <RadioButton android:id="@+id/mine" style="@style/home_rb_style" android:drawableTop="@drawable/select_mine" android:text="我的" /> </RadioGroup></RelativeLayout>
由于三个radiobutton的效果都一致,都为选中变颜色,所以给其设置了统一的style。
在values文件夹下的styles文件下创建一个style
<style name="home_rb_style"> <item name="android:layout_width">0dp</item> <item name="android:layout_height">wrap_content</item> <item name="android:layout_weight">1</item> <item name="android:button">@null</item> <item name="android:drawablePadding">3dp</item> <item name="android:gravity">center</item> <item name="android:textColor">@color/select_rb_text</item> <item name="android:background">@color/white</item> <item name="android:paddingTop">4dp</item></style>注意这里图片和文字都有个选中与不选中的差别。
图片的实现方式是准备两张图片,右击res的drawable文件夹,选择new-drawable resource file 选selector命名select_mian
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@mipmap/application_2xx" android:state_checked="true" /> <item android:drawable="@mipmap/application_xx" /></selector>文字的实现方式,在res下创建一个color文件夹右击选择new - color resource file命名select_rb_text
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:color="@color/rb_text_select" android:state_checked="true"/> <item android:color="@color/rb_text_normal"/></selector>
注意:设置radiobutton的默认选中,不能直接在代码里面写,不然会一直选中不能切换。可以给radiobutton写一个id,然后实例化他,在代码里设置默认选中
private void initView() { rbg = ((RadioGroup) findViewById(R.id.rbg)); rbg.setOnCheckedChangeListener(this); rb_home = ((RadioButton) findViewById(R.id.home)); rb_home.setChecked(true);//设置默认选中}
阅读全文
0 0
- 从零开始搭建app—首页导航栏实现(一)
- 【工作笔记】从零开始学ExtJs6(三)—— 首页搭建
- 【工作笔记】从零开始学ExtJs6(三)—— 首页搭建
- Hbuilder开发APP(一)——底部导航条简单实现
- 从零开始打造一个新闻订阅APP之Android篇(一、实现仿微信主界面效果)
- 从零开始搭建嵌入式Linux平台(一)
- 网站搭建从零开始(一)域名
- 从零开始深度学习搭建神经网络(一)
- ANDROID底部导航栏的实现(一)— BottomNavigationBar
- 首页tab导航栏的实现原理及方法
- Ecshop修改首页导航栏--“首页”
- 【工作笔记】从零开始学ExtJs6( 四)—— 首页树状菜单和Tab页的实现
- 【工作笔记】从零开始学ExtJs6( 四)—— 首页树状菜单和Tab页的实现
- 仿半糖App首页的实现
- 网上商城首页实现总结(一)
- APP导航实现
- 实现APP高效导航
- 玩转【斗鱼直播APP】系列之首页导航栏设置
- MarkDown 下载-安装
- python小白开学啦~第二讲 关于 函数,迭代,模块
- anaconda 更换国内镜像源后下载出错
- 学徒浅析Android——Android7.0(N)对于自定义证书和非CA机构证书的适配校验
- php编译参数详解
- 从零开始搭建app—首页导航栏实现(一)
- 精选30道Java笔试题解答
- MarkDown 常用语法
- redis(5)——RDB持久化
- 机器学习-模型评估与选择
- 【日常学习笔记】PHP上传文件时权限问题~
- Python自学第一课
- oracle 一次删除多张表
- HDPCD-Java-复习笔记(20)