首页 > Android 这样的Tab怎么实现呢?纠结了半天了

Android 这样的Tab怎么实现呢?纠结了半天了

关机是线条内部的背景色变了


用StateDrawable做TabSpec的indicator view的背景


点击以后更改下背景颜色


有个取巧的办法,用3个图片。每个图片都包括3个按钮


其实不是很简单的背景吗?
未被点击的状态是只有纯粹的线框围住的透明背景图
点击或者激活状态下是线框围住的蓝色背景图。
当然这种用图片比较浪费,可以尝试使用shape去设置背景。大概就是这种样子

<selector  
xmlns:android="http://schemas.android.com/apk/res/android">    
<item 
    android:state_enabled="true" >  
<shape
    android:shape="rectangle" >
    <stroke
        android:width="1dp"
        android:color="#33000000"
        />
    <solid
        android:color="#11AEAEAE" 
        />
    <!-- 设置矩形的四个角为弧形 -->
    <!-- android:radius 弧形的半径 -->
    <corners android:radius="5dip" />
    </shape>
</item>
</selector>

ul{height:45px;display:block;line-height:45px;background:边框颜色;padding:1px 0 1px 1px;box-sizing:border-box;}
li{bakcground:初始颜色;}
li.on{background:状态色;}

简单点说也就是背景为边框.


可以使用Shape布局。
你可以看一下下面的开源项目的做法。
https://github.com/7heaven/SHSegmentControl

【热门文章】
【热门文章】