虽然现在谷歌官方也提供了不少控件可解决这个效果,第三方也不少,也几乎所有人都会实现这种效果,但本人仍想记录一下。
这里的实现是使用RadioGroup+FrameLayout实现,自己定义个FragmentTabAdapter,不使用viewpage。
这里从简单的开始吧!
首先tab栏的实现,定义选中和非选中的drawable大家都会的了所以这里就不多说了,对于RadioButton的风格样式肯定是不满足需要的,所以进行下处理吧!先看代码,如下
------------------------------------------------
<style name="tabBarButton" parent="android:Widget.CompoundButton.RadioButton">
<item name="android:drawablePadding">0dp</item>
<item name="android:button">@null</item>
<item name="android:textSize">11dp</item>
<!--部分机型,如三星N7100,不加padding会出现偏移,导致第一个左边多出很多空白,最后一个靠边-->
<item name="android:padding">0dp</item>
<item name="android:maxLines">1</item>
<item name="android:gravity">center</item>
<item name="android:layout_gravity">center</item>
<item name="android:layout_weight">1.0</item>
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">@