您当前的位置: 首页 >  ui

Kevin-Dev

暂无认证

  • 3浏览

    0关注

    544博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Android -- UI 开发】RadioButton/RadioGroup/CheckBox 的基本使用

Kevin-Dev 发布时间:2016-12-13 17:08:08 ,浏览量:3

一、RaidoButton

1. 效果图 rb

2. activity_main.xml





    

    
        

        
    

3. MainActivity.java

public class MainActivity extends AppCompatActivity {

    @BindView(R.id.rg_sex)
    RadioGroup mSelectSex;
    @BindView(R.id.rb_male)
    RadioButton mMale;
    @BindView(R.id.rb_female)
    RadioButton mFemale;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
    }

    @OnCheckedChanged({R.id.rb_male,R.id.rb_female})
    public void onRadioCheck(CompoundButton view,boolean isChanged) {
        switch (view.getId()) {
            case R.id.rb_male:
                if (isChanged) {
                    Toast.makeText(this,"you select male",Toast.LENGTH_SHORT).show();
                }
                break;

            case R.id.rb_female:
                if (isChanged) {
                    Toast.makeText(this,"you select female",Toast.LENGTH_SHORT).show();
                }
                break;

            default:
                break;
        }
    }
}
二、RadioButton | RadioGroup

1. 布局文件

		
            

            
        

2. sel_text.xml



    
    
    

3. rb_left.xml



    
    
    

4. rb_left_nor.xml



    
    

5. rb_left_pre.xml



    
    

6. 代码

public class OrderDetailActivity extends BaseActivity {
    @BindView(R.id.rg_detail)
    RadioGroup mDetail;
    @BindView(R.id.rb_basic_info)
    RadioButton mBasic;
    @BindView(R.id.rb_progress)
    RadioButton mProgress;

    @BindView(R.id.title_bar)
    TitleBar mTitleBar;

    private BasicFragment mBasicFragment = HomeFragmentFactory.getInstance().getBasicFragment();
    private ProcessFragment mProcessFragment = HomeFragmentFactory.getInstance().getProcessFragment();

    @Override
    protected int getLayoutId() {
        return R.layout.activity_order_detail;
    }

    @Override
    protected void initView() {
        mTitleBar.setOnTitleBarListener(new OnTitleBarListener() {
            @Override
            public void onLeftClick(View view) {
                finish();
            }

            @Override
            public void onTitleClick(View view) {

            }

            @Override
            public void onRightClick(View view) {

            }
        });

        showFragment(mBasicFragment);
    }

    @OnCheckedChanged({R.id.rb_basic_info,R.id.rb_progress})
    public void onRadioCheck(CompoundButton view, boolean isChanged) {
        switch (view.getId()) {
            case R.id.rb_basic_info:
                if (isChanged) {
                    showFragment(mBasicFragment);
                }
                break;

            case R.id.rb_progress:
                if (isChanged) {
                    showFragment(mProcessFragment);
                }
                break;

            default:
                break;
        }
    }

    /**
     * 切换fragment
     *
     * @param targetFragment
     * @return
     */
    private void showFragment(Fragment targetFragment) {
        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
        transaction.replace(R.id.fl_content, targetFragment, targetFragment.getClass().getName());
        transaction.commit();
    }


}
三、CheckBox

1. 效果图 cb

2. main_activity.xml





    

    

    

    

    

    

3. MainActivity.java

public class MainActivity extends AppCompatActivity {

    @BindView(R.id.cb_basketball)
    CheckBox mBasketball;
    @BindView(R.id.cb_football)
    CheckBox mFootBall;
    @BindView(R.id.cb_pingpong)
    CheckBox mPingpong;
    @BindView(R.id.cb_badminton)
    CheckBox mBadminton;

    private Map like = new HashMap();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
    }

    @OnCheckedChanged({R.id.cb_basketball,R.id.cb_football,R.id.cb_pingpong,R.id.cb_badminton})
    public void onRadioCheck(CompoundButton view,boolean isCheck) {
        switch (view.getId()) {
            case R.id.cb_basketball:
                if (isCheck) {
                    like.put("basketball","篮球");
                }else {
                    like.remove("basketball");
                }
                break;

            case R.id.cb_football:
                if (isCheck) {
                    like.put("football","足球");
                }else {
                    like.remove("football");
                }
                break;

            case R.id.cb_pingpong:
                if (isCheck) {
                    like.put("pingpong","乒乓球");
                }else {
                    like.remove("pingpong");
                }
                break;

            case R.id.cb_badminton:
                if (isCheck) {
                    like.put("badminton","羽毛球");
                }else {
                    like.remove("badminton");
                }
                break;

            default:
                break;
        }
    }

    /**
     * 输出总的爱好
     *
     * @param v
     */
    public void show(View v) {
        // 循环读取爱好
        StringBuilder sb = new StringBuilder();
        String ret = "这个人的爱好是:";

        if (like.size() == 0) {
            String no = "这个人完全没有爱好!";
            Toast.makeText(MainActivity.this, no, Toast.LENGTH_SHORT).show();
        } else {
            sb.append(ret);
            for (String key : like.keySet()) {
                sb.append(like.get(key) + "\t");
            }
            Toast.makeText(MainActivity.this, sb, Toast.LENGTH_SHORT).show();
        }

    }
}
关注
打赏
1658837700
查看更多评论
立即登录/注册

微信扫码登录

0.0423s