Android原生实现单选

         六年前写的一个控件,一直没有时间总结,趁年底不怎么忙,整理一下之前写过的组件。供大家一起参考学习。废话不多说,先上图。

一、效果图

Android原生实现单选_第1张图片

实现思路使用的是radioGroup加radiobutton组合方式。原理就是通过修改RadioButton 的background样式实现,radioGroup嵌套radiobutton已经实现单选互斥,故直接监听其选中监听处理数据就好。

dp_0.5:就是0.5dp的意思,自行替换成自己的值。

dp_15:代表15dp
 

二、布局代码

  方案:采用的是RadioGroup嵌套RadioButton的方式。

  

            

            

            
        

三、样式代码

  3.1 android:drawableLeft="@drawable/checked_manage"样式

   这种方式使用的是drawableLeft方式,没使用background。



    
    

3.1.1 press_check样式svg方式实现


  
  

 3.1.2 nomar_check样式


  

3.2 checked_manage样式



    
    

3.2.1 press_check样式


  
  

3.2.2 nomar_check样式


  

3.3 checked_manage样式



    
    

四 java代码

     由于使用了databinding双向绑定,故就不演示findviewbyid,如果没有使用databinding,

//高压、低压、心率选择处理
mDataBinding.rgGender.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(RadioGroup radioGroup, int checkedId) {
        switch (checkedId) {
            case R.id.rb_press_h:
                Log.d("RadioGroup", "===高压===");
                break;
            case R.id.rb_press_l:
                Log.d("RadioGroup", "===低压===");
                break;
            case R.id.rb_press_rate:
                Log.d("RadioGroup", "===心率===");
                break;
        }
    }
});

五 给予新手的寄语

     对于新手来讲,开发总会遇到各种各样的问题,逐个解决就好,注意沟通协调。

你可能感兴趣的:(移动端,Android,android)