zoukankan      html  css  js  c++  java
  • android改动tab 导航 指示器颜色


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

    这个问题实在是困扰我了太长时间。之前參照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

  • 相关阅读:
    js图片轮换
    PHP如何打造一个高可用高性能的网站呢?
    php中浮点数计算问题
    jQuery ajax()使用serialize()提交form数据
    js最新手机号码、电话号码正则表达式
    swoole是如何实现任务定时自动化调度的?
    Facebook的“零售吸引力”,互联网营销 狼人:
    Google勇敢新世界,互联网营销 狼人:
    Facebook的成功之道,互联网营销 狼人:
    李彦宏分享百度危机中如何“弯道超车”,互联网营销 狼人:
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/3804877.html
Copyright © 2011-2022 走看看