你的位置:首页 > 软件开发 > 操作系统 > Android 自定义View实现多行RadioGroup (MultiLineRadioGroup)

Android 自定义View实现多行RadioGroup (MultiLineRadioGroup)

发布时间:2015-05-11 20:01:52
一、项目概况  我们都知道RadioGroup可以实现选择框,但它有一个局限性,由于它是继承自LinearLayout的,所以只能有一个方向,横向或者纵向;但有时候仅一行的RadioGroup并不能满足实际的需求,比如在一行的宽度下显示不完所有的选项,设计上又不允许左右滑动,这时 ...

一、项目概况

  我们都知道RadioGroup可以实现选择框,但它有一个局限性,由于它是继承自LinearLayout的,所以只能有一个方向,横向或者纵向;但有时候仅一行的RadioGroup并不能满足实际的需求,比如在一行的宽度下显示不完所有的选项,设计上又不允许左右滑动,这时候RadioGroup就不能满足这样的功能设计了;基于此,我写了这个MultiLineRadioGroup并且开源出来;

1、程序界面效果图

Android 自定义View实现多行RadioGroup (MultiLineRadioGroup) Android 自定义View实现多行RadioGroup (MultiLineRadioGroup)

 

2、功能接口

在Api开发上,能够用到的功能及我能想到的,基本都已经添加完毕;具体如下:

  • child选项添加,删除
  • child选项选中,取消选中
  • child对齐方式(左|中|右)
  • child行间距,左右间距
  • 设置选择模式(单选|多选)
  • 获取已选选项
  • child选择状态的监听回调查

3、Demo链接地址

  https://github.com/a284628487/MultiLineRadioGroup

 

二、项目分析

1、基于上面的功能设计,为了设计方便,添加了一些自定义属性;

  <declare-styleable name="MultiLineRadioGroup">    <attr name="child_margin_horizontal" format="dimension" />    <attr name="child_margin_vertical" format="dimension" />    <attr name="child_layout" format="integer" />    <attr name="child_count" format="integer" />    <attr name="child_values" format="integer" />    <attr name="single_choice" format="boolean" />    <attr name="gravity" format="integer" />  </declare-styleable>

原标题:Android 自定义View实现多行RadioGroup (MultiLineRadioGroup)

关键词:Android

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录