当前位置:   article > 正文

android 自定义radio,android 自定义RadioButton样式

android radiobutton自定义图片

http://gundumw100.iteye.com/blog/1146527

38c53f43267c094c9586963cb7ff0409.png 

上面这种3选1的效果如何做呢?用代码写?

其实有更简单的办法,忘了RadioButton有什么特性了吗?

我就用RadioButton实现了如上效果,其实很简单的。

首先定义一张background,命名为radio.xml,注意该background必须为xml样式的图片:

Xml代码  02d319e5d946879d319458ca8c6a25df.png

android:state_checked="false"

android:drawable="@drawable/tabswitcher_long" />

android:state_checked="true"

android:drawable="@drawable/tabswitcher_short" />

这里我们只要关心state_checked状态就可以了。所以很简单的配置。

接下来就是布局文件里面引用这张图片了:

Java代码  02d319e5d946879d319458ca8c6a25df.png

android:gravity="center"

android:orientation="horizontal"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

>

android:id="@+id/btn_0"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="最新信息"

android:textSize="17.0sp"

android:textColor="@android :color/black"

android:gravity="center"

android:layout_weight="1"

android:checked="true"

android:button="@null"

android:background="@drawable/radio"

/>

android:id="@+id/btn_1"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="在线专家"

android:textSize="17.0sp"

android:textColor="@android :color/black"

android:gravity="center"

android:layout_weight="1"

android:button="@null"

android:background="@drawable/radio"

/>

android:id="@+id/btn_2"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="预约服务"

android:textSize="17.0sp"

android:textColor="@android :color/black"

android:gravity="center"

android:layout_weight="1"

android:button="@null"

android:background="@drawable/radio"

/>

注意将android:button="@null"全部设为null,并且将android:background="@drawable/radio"设为刚才新建的图片。这样就完成了。

一句代码都不用写!

看看竖下来的效果:

da5a02b24f85f0c10107d7c9eccaee9e.png 

傍边有图标的怎么办?

b6f51274138ed91fadec3f31266935ed.png 

也很简单啦,只要在每个RadioButton上加android:drawableLeft="@drawable/tubiao_0"就可以了。

另外要设置图标与文字的距离怎么办?

有一个方法setCompoundDrawablePadding(pad)可以设置图标与文字的距离,对应的属性为android:drawablePadding。

有了这招完全可以实现类似的n选1效果,看下面:

3c13eeb6ebc884b0c1c803126b11dd59.png 

3cb9d4d7044c01843ffac95fb946a797.png 

应用:

http://www.iteye.com/topic/1116261#2256664

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/648731
推荐阅读
相关标签
  

闽ICP备14008679号