我事实上想改动的上面的蓝色条条,改成红色。

这个问题实在是困扰我了太长时间。之前參照google的这个文章:

https://developer.android.com/training/basics/actionbar/styling.html

可是事与愿违,我发现居然连我整个tab颜色都改了。

认为非常奇怪,为什么google给的方法是改动整个tab?难道google搞错了?

网上找了非常久,发现非常多人都在问这个问题,而实际解决的人非常少。偶尔有几个解决的,也是採用google的那个方法。可是我的不正确啊!

这个问题一直被放置。。中间几次各种尝试,不行。今天又搜索,找到一个文章,我大致看了一下,还是採用google的方法,只是他附带了源代码,有些疑问,为什么他的颜色能够改动?就下载他的源代码执行看看效果。发现果然改掉了。这是为什么?最后发下,奥秘在于他採用的图片,是上面透明,底下带颜色的。而我之前採用的都是上下都有颜色,所以才会把整个tab覆盖。

就是这样的图片:

呵呵,最终找到原因。

以下说下详细流程吧:这个流程上面给的那个google的文章有。

一、改动系统的styles.xml.V14以上版本号在values-v14目录下:

 <style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<!-- API 14 theme customizations can go here. -->
<item name="android:actionBarStyle">@style/my_actionbar_style</item>
<item name="android:actionOverflowButtonStyle">@style/MyCustomTheme.OverFlow</item> <!-- it's work -->
<item name="android:homeAsUpIndicator">@drawable/upcaret</item> <!-- it's work -->
<!-- <item name="android:actionButtonStyle">@style/my_actionbar_tabbar_style</item> -->
<!-- 设置ActionBar Tab的样式,比如以下的红色指引,Tab之间的间隙等等 -->
<item name="android:actionBarTabStyle">@style/myTabView</item>
<!-- 设置ActionBar Tab字体的样式 -->
<!-- <item name="android:actionBarTabTextStyle">@style/myTabText</item> -->
</style>
   <style name="myTabView" parent="@android:style/Widget.Holo.Light.ActionBar.TabView">
<item name="android:background">@drawable/tab_indicator</item>
<item name="android:paddingLeft">8dip</item>
<item name="android:paddingRight">8dip</item>
</style>

二、在res下的drawable目录下(假设没有,自己创建一个)创建tab_indicator.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="false" android:state_pressed="false" android:drawable="@android:color/transparent" />
<item android:state_selected="false" android:state_pressed="true" android:drawable="@android:color/transparent" />
<item android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/base_tabpager_indicator_selected" />
<item android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/base_tabpager_indicator_selected" />
</selector>

至于神器的那个drawable图片我上传了一份,大家能够在此的基础了换颜色和改动高度。地址:http://pan.baidu.com/s/1ozNKM

终于效果:



參考资料:

https://developer.android.com/training/basics/actionbar/styling.html

http://blog.csdn.net/xiaanming/article/details/9971721

android改动tab 导航 指示器颜色的更多相关文章

  1. Android Actionbar Tab 导航模式

    Android Actionbar Tab 下图中,红色矩形圈起来的就是我们 ActionBar Tab,下面我们将一步一步的实现下图中的效果. 初次尝试 package com.example.it ...

  2. Android SlidingTabLayout的使用--替代ActionBar的Tab导航

    最近在使用ActionBar的时候,如果使用的是最新版V7包或者最新的SDK平台,就会发现 ActionBar的导航功能已经不建议使用了.主要的原因是ActionBar自带Tab导航自定义性差(只能通 ...

  3. Android开源框架ViewPageIndicator和ViewPager实现Tab导航

    前言: 关于使用ViewPageIndicator和ViewPager实现Tab导航,在开发社区里已经有一堆的博客对其进行了介绍,假设我还在这里写怎样去实现.那简直就是老生常谈,毫无新奇感,并且.我也 ...

  4. 【Android - 自定义View】之自定义颜色渐变的Tab导航栏

    首先来介绍一下这个自定义View: (1)这个自定义View的名称叫做 GradientTab ,继承自View类: (2)这个自定义View实现了颜色渐变的Tab导航栏(仿微信主菜单),用户在左右滑 ...

  5. Android tab导航的几种方法:ActionBar tab +fragment,Viewpager+pagerTitleStrip,开源框架ViewPageIndicator 和 ViewPager

    action来实现tab标签 并跟fragment结合 因为要写新闻客户端这个tab导航是必须的 这里我写几个小练习,希望大家融会贯通. 1actionbar设置tab +fragment 布局是个l ...

  6. Android入门之ActionBar实现Tab导航

    效果图: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=&qu ...

  7. Android 修改底部导航栏navigationbar的颜色

    Android 修改底部导航栏navigationbar的颜色 getWindow().setNavigationBarColor(Color.BLUE); //写法一 getWindow().set ...

  8. android:改动PagerTabStrip中的背景颜色,标题字体的样式、颜色和图标以及指示条的颜色

    1.改动PagerTabStrip中的背景颜色 我们在布局中直接设置background属性就可以: <android.support.v4.view.ViewPager android:id= ...

  9. Android 原生 Android ActionBar Tab (滑动)导航

    本文内容 环境 项目结构 演示一:ActionBar Tab 导航 演示二:ActionBar Tab 带滑动导航 本文演示 Tab 导航.第一个演示,是基本的 Tab 导航,第二个是带滑动的 Tab ...

随机推荐

  1. 一、初识T4引擎

    对于代码生成器我们并不陌生,在日常编码中这也是用的比较多的工具之一.一般代码生成器主要功能是生成公共或基础代码来减少编码人员的工作量,而一款优秀的代码生成器除了生产代码以外,同时兼具生成项目架构和基础 ...

  2. sql问题

    表中某个指标重复,去掉重复项: select * from #temp where A0107 in (select A0107 from #temp  group by A0107having CO ...

  3. 《JavaScript高级程序设计》读书笔记

    Javascript由以下三部分组成: 核心(ECMAScript) 文档对象模型(DOM) 浏览器对象模型(BOM) ECMAScript组成部分: 语法.类型.语句.关键字.保留子.操作符.对象. ...

  4. 【USACO 2.2.3】循环数

    [题目描述] 循环数是那些不包括0且没有重复数字的整数(比如81362)并且还应同时具有一个有趣的性质, 就像这个例子: 如果你从最左边的数字开始(在这个例子中是8)向右数最左边这个数(如果数到了最右 ...

  5. CMake交叉编译配置

    很多时候,我们在开发的时候是面对嵌入式平台,因此由于资源的限制需要用到相关的交叉编译.即在你host宿主机上要生成target目标机的程序.里面牵扯到相关头文件的切换和编译器的选择以及环境变量的改变等 ...

  6. 妙用git rebase --onto指令

    有时候,在分支提交更改的时候,会忘记rebase,就直接提交上去,或者忘记和本地远程分支做merge,就直接rebase了别的分支.有时候真希望有一种切片的方式,让自己的分支只需要接上某一段.这个时候 ...

  7. linux关机重启命令浅析

    linux关机重启命令 今天我们来介绍下linux系统中常用到的关机重启命令—shutdown.halt.reboot.poweroff以及init. shutdown命令 以安全的方式关闭系统或重启 ...

  8. jquery利用event.which方法获取键盘输入值的代码

    jquery利用event.which方法获取键盘输入值的代码,需要的朋友可以参考下. 实例 显示按了哪个键: $("input").keydown(function(event) ...

  9. JS判断鼠标从哪个方向进入DIV容器

    写的不够高大上 , 不要介意哦... Js: //进去 $(".flash").bind("mouseenter",function(e){ /** the w ...

  10. MongoDB学习--高级查询 [聚合Group]

    Group大约需要一下几个参数. key:用来分组文档的字段.和keyf两者必须有一个 keyf:可以接受一个javascript函数.用来动态的确定分组文档的字段.和key两者必须有一个 initi ...