Andriod底部导航栏图片和文字的切换
在App开发中底部导航栏的应用还是很多的,有时我们需要到底部导航既有图标又有文字,这就要求在点击切换时,未选中的其他图标及相应文字变换成另一种颜色,选中的又是一种颜色,要保证图片和文字的同时改变。
看一下我项目里的运行效果图
下面来介绍一种比较简单的方法
首先看主类
import android.app.Activity;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.widget.RadioButton;
import android.widget.RadioGroup;public class MainActivity extends Activity {// 底部导航栏控件private RadioGroup gadiogroup;private RadioButton radio1, radio2, radio3, radio4;private Drawable drawable_radio1, drawable_radio2, drawable_radio3,drawable_radio4;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initview();}private void initview() {// TODO Auto-generated method stubgadiogroup = (RadioGroup) findViewById(R.id.redio_group);radio1 = (RadioButton) findViewById(R.id.radio1);radio2 = (RadioButton) findViewById(R.id.radio2);radio3 = (RadioButton) findViewById(R.id.radio3);radio4 = (RadioButton) findViewById(R.id.radio4);drawable_radio1 = getResources().getDrawable(R.drawable.xml_radio_main_bg);drawable_radio2 = getResources().getDrawable(R.drawable.xml_radio_tmall_bg);drawable_radio3 = getResources().getDrawable(R.drawable.xml_radio_classification_bg);drawable_radio4 = getResources().getDrawable(R.drawable.xml_radio_shopingbags_bg);Rect rect = new Rect(0, 0, drawable_radio1.getMinimumWidth(),drawable_radio1.getMinimumHeight());drawable_radio1.setBounds(rect);drawable_radio2.setBounds(rect);drawable_radio3.setBounds(rect);drawable_radio4.setBounds(rect);radio1.setCompoundDrawables(null, drawable_radio1, null, null);radio2.setCompoundDrawables(null, drawable_radio2, null, null);radio3.setCompoundDrawables(null, drawable_radio3, null, null);radio4.setCompoundDrawables(null, drawable_radio4, null, null);}}
这句话
Rect rect = new Rect(0, 0, drawable_radio1.getMinimumWidth(),drawable_radio1.getMinimumHeight());
你可以随意改变你图标图片的大小
activity_main文件如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><LinearLayout android:layout_width="fill_parent"android:layout_height="0dp" android:layout_weight="1"android:orientation="vertical"> </LinearLayout><include layout="@layout/bottom_navigation" />
</LinearLayout>
bottom_navigation文件如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="#ffffff"android:orientation="vertical" ><Viewandroid:layout_width="fill_parent"android:layout_height="1dp"android:background="#F4692A" /><RadioGroupandroid:id="@+id/redio_group"android:layout_width="match_parent"android:layout_height="50dp"android:layout_centerHorizontal="true"android:background="#ffffff"android:gravity="center_vertical"android:orientation="horizontal"android:weightSum="4" ><RadioButtonandroid:id="@+id/radio1"style="@style/radio_button"android:checked="true"android:singleLine="true"android:text="苹果" /><RadioButtonandroid:id="@+id/radio2"style="@style/radio_button"android:singleLine="true"android:text="橘子" /><RadioButtonandroid:id="@+id/radio3"style="@style/radio_button"android:singleLine="true"android:text="香蕉" /><RadioButtonandroid:id="@+id/radio4"style="@style/radio_button"android:singleLine="true"android:text="菠萝" /></RadioGroup></LinearLayout>
下面列出一个xml_radio_main_bg,因为其他的类似
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_checked="true" android:drawable="@drawable/a2_down"/><item android:state_checked="false" android:drawable="@drawable/a2_on"/>
</selector>
好了,这样就完成了一个底部导航栏,图片+文字
Demo的下载地址是:http://download.csdn.net/detail/shihuiyun/9563621
需要的话可以下载看看
Andriod底部导航栏图片和文字的切换相关推荐
- android仿微信的activity平滑水平切换动画,Android实现简单底部导航栏 Android仿微信滑动切换效果...
Android实现简单底部导航栏 Android仿微信滑动切换效果 发布时间:2020-10-09 19:48:00 来源:脚本之家 阅读:96 作者:丶白泽 Android仿微信滑动切换最终实现效果 ...
- Android studio实现底部导航,AndroidStudio制作底部导航栏以及用Fragment实现切换功能...
前言 大家好,我是 Vic,今天给大家带来AndroidStudio制作底部导航栏以及用Fragment实现切换功能的概述,希望你们喜欢 学习目标 AndroidStudio制作底部导航栏以及用Fra ...
- com.ashokvarma.android:bottom-navigation 修改导航栏图片和文字间的距离和文字的大小
我没引入com.ashokvarma.android:bottom-navigation 的底部导航栏,需要更改图片和文字间的距离和文字的大小,以及取消点击是字体大小的变化! 找到com.ashokv ...
- php仿微信底部菜单,Android实现简单底部导航栏 Android仿微信滑动切换效果
Android仿微信滑动切换最终实现效果: 大体思路: 1. 主要使用两个自定义View配合实现; 底部图标加文字为一个自定义view,底部导航栏为一个载体,根据需要来添加底部图标; 2. 底部导航栏 ...
- android滑动菜单图标,Android实现简单底部导航栏 Android仿微信滑动切换效果
Android仿微信滑动切换最终实现效果: 大体思路: 1. 主要使用两个自定义View配合实现; 底部图标加文字为一个自定义view,底部导航栏为一个载体,根据需要来添加底部图标; 2. 底部导航栏 ...
- android 底部滑动效果怎么做,Android实现简单底部导航栏 Android仿微信滑动切换效果...
android仿微信滑动切换最终实现效果: 大体思路: 1. 主要使用两个自定义view配合实现; 底部图标加文字为一个自定义view,底部导航栏为一个载体,根据需要来添加底部图标; 2. 底部导航栏 ...
- android fragment 底部菜单栏,一句话搞定Android底部导航栏,一键绑定Fragment、ViewPager...
现在大多数App都会用到底部导航栏,比如常见的聊天工具QQ.微信.购物App等等,有了底部导航栏,用户可以随时切换界面,查看不同的内容.它的实现方式也很多,以前大多使用TabHost来实现,但是现在我 ...
- Android底部导航栏的四种实现
现在大多数App都会用到底部导航栏,比如常见的聊天工具QQ.微信,购物App等等,有了底部导航栏,用户可以随时切换界面,查看不同的内容.它的实现方式也很多,以前大多使用TabHost来实现,但是现在我 ...
- 微信小程序开发实战基础一、页面跳转,底部导航栏,分享,加载图片标签,列表
1.页面跳转 wx.navigateTo({ url: "../four/four" })--可返回 wx.redirectTo({ url: "../four/four ...
最新文章
- python打开文件_python如何学习
- 龙岗网络推广解析有关网站SEO排名上去了,但没实际性点击的问题
- 【深度学习】语音识别之CTC算法原理解释与公式推导
- oracle 11g r2 rac中节点时间不同步,Oracle11gR2安装RAC错误之--时钟不同步
- 寻路之 A* 搜寻算法
- (译)通过WebChannel/WebSockets与QML中的HTML交互
- 缓冲文件系统和非缓冲文件系统
- Spring设计模式之装饰器模式
- 关于Shell 脚本的export语句
- Qt 流畅的运行大循环
- SolidWorks2022 安装教程
- 2016年下半年 系统分析师 案例分析真题
- oracle数据库:约束
- 将multisim中波形在matlab中输出
- linux pam limits.so,linux – 即使需要pam_limits.so,ulimit也不会读取打开文件描述符limits.conf设置...
- 算法解析—同向双指针 字节笔试 万万没想到抓捕孔联顺,列表最大间隔不超过D
- Lempel-Ziv算法
- TinyG 入门06
- ajax treegrid 选中,easyui treeGrid异步加载子节点示例
- 奇遇MIX体验:加入全彩VST透视,开创消费级VR一体机新时代