安卓卡片式、数量可变自定义RadioButton

安卓卡片式、数量可变RadioButton

目标:

我们的效果图如下:


左边红框是我们的目标。我们需要实现:

1、      卡片数量是动态变化的

2、      可滑动

3、      支持卡片颜色和图片的变化

 

实现思路:

实现的思路比较简单,就是外层是一个scrollView,里面的基布局是一个RadioGroup。我们在activity里面动态地添加radioButton就好了。思路比较简单。但是实现起来却有很多需要注意的知识点。

 

功能实现:

布局

 

布局就是很简单的。加了scrollView从而实现了滑动功能。基布局RadioGroup实现RadioButton的单个被点击的效果。

Activity中添加RadioButton:

布局很简单,但是添加RadioButton比较麻烦。


资源文件名:


以上就是全部的代码。

这里用到的知识点是:

1、      自定义DrawableSelector和ColorSelector。

DrawableSelector:


ColorSelector:

ColorSelector也是一样!只不过这里我们定义好了selector在xml中

也就不必麻烦了(自定义DrawableSelector是因为radiobutton是动态的,图片我都不知道是什么),这里的文字的变化比较单一,就定义在了xml中。




2、      RadioButton在手动添加的时候需要给第一个设置一个id,因为这里RadioGroup在添加RadioButton第一个的时候没有赋予ID值(默认为0)。这就尴尬了,因为RadioGroup里面是通过ID来确定唯一被checked的button。不加的效果如下:


到这里,基本的东西就没有了。至于RadioButton的背景设置一个透明,一个灰色背景,黑色边框就好了。

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值