TabRadioButton for Android
APP開(kāi)發(fā)中亡脸,底部菜單經(jīng)常使用RadioButton來(lái)實(shí)現(xiàn)切換,但使用系統(tǒng)自帶的RadioButton的話树酪,你會(huì)發(fā)現(xiàn)圖片和文字并沒(méi)有完全居中浅碾,于是就有了TabRadioButton。
TabRadioButton只對(duì) drawableLeft
和drawableTop
方向上的圖片做了居中處理(這兩個(gè)方向一般用的比較多)
主要功能:
- 圖片和文字居中
- 可指定drawable的大小
- 自帶縮放動(dòng)畫效果续语,手指按下和松開(kāi)時(shí)觸發(fā)(需要開(kāi)啟)
Preview
screen.gif
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
添加圖片時(shí)要用drawableLeft
或drawableTop
這兩個(gè)屬性~ - 若需要?jiǎng)赢嬓Ч剐唬砑右恍袑傩?
trb_enable_animation="true"
即可啟用縮放動(dòng)畫效果
<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">
<!-- 啟用動(dòng)畫效果 -->
<attr name="trb_enable_animation" format="boolean"/>
<!-- 動(dòng)畫時(shí)長(zhǎng) -->
<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
內(nèi)容如下:
<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,記得給個(gè)Star支持一下~