TabRadioButton for Android
APP开发中,底部菜单经常使用RadioButton来实现切换,但使用系统自带的RadioButton的话,你会发现图片和文字并没有完全居中,于是就有了TabRadioButton。
TabRadioButton只对 drawableLeft
和drawableTop
方向上的图片做了居中处理(这两个方向一般用的比较多)
主要功能:
- 图片和文字居中
- 可指定drawable的大小
- 自带缩放动画效果,手指按下和松开时触发(需要开启)
Preview
Download
Gradle:
compile 'com.zaaach:tabradiobutton:1.0.2'
or Maven:
<dependency>
<groupId>com.zaaach</groupId>
<artifactId>tabradiobutton</artifactId>
<version>1.0.2</version>
<type>pom</type>
</dependency>
How to use
-
TabRadioButton
添加图片时要用drawableLeft
或drawableTop
这两个属性~ - 若需要动画效果,添加一行属性
trb_enable_animation="true"
即可启用缩放动画效果
<RadioGroup
style="@style/TabRadioGroup">
<com.zaaach.tabradiobutton.TabRadioButton
style="@style/TabRadioButtonWithText"
android:drawableTop="@drawable/tab_contact_icon_selector"
app:trb_enable_animation="true"
app:trb_drawable_size="24dp"
app:trb_scale_rate="0.8"
app:trb_duration="200"/>
</RadioGroup>
attrs.xml
自定义的属性:
<declare-styleable name="TabRadioButton">
<!-- 启用动画效果 -->
<attr name="trb_enable_animation" format="boolean"/>
<!-- 动画时长 -->
<attr name="trb_duration" format="integer"/>
<!-- 缩放比例 -->
<attr name="trb_scale_rate" format="float"/>
<!-- drawable大小 -->
<attr name="trb_drawable_size" format="dimension"/>
</declare-styleable>
@style/TabRadioButtonWithText
内容如下:
<style name="TabRadioButtonWithText">
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">match_parent</item>
<item name="android:layout_weight">1</item>
<item name="android:button">@null</item>
<item name="android:background">@null</item>
<item name="android:textSize">12sp</item>
<item name="android:textColor">@drawable/tab_text_color_selector</item>
<item name="android:drawablePadding">2dp</item>
</style>
Try it
:wink:
下载地址
https://github.com/zaaach/TabRadioButton 如果喜欢TabRadioButton,记得给个Star支持一下~