美文网首页
RadioButton相关

RadioButton相关

作者: 玖玖君 | 来源:发表于2019-07-30 20:13 被阅读0次

    项目中使用的是:radiobutton,要实现这样的功能着实苦恼了很久。后来想到了写方法来放大某个radiobutton,重置其他radiobutton ,这个方法的缺陷是因为放大的是控件,如果图片分辨率不高的话放大会造成一定程度的失真。
      使用方法:当点击一个radiobutton的时候,调用以下两个方法:
    setButtonScale(传入要放大的radiobutton)
    resetScale(传入其他几个要重置的radiobutton )
      代码如下:

    public static final float  SCALE_MAX     = 1.2F;
    public static final float  SCALE_NOMAL   = 1f;
     private void setButtonScale(RadioButton controlRadioButton, float scaleType) {
            controlRadioButton.setScaleX(scaleType);
            controlRadioButton.setScaleY(scaleType);
        }
    
        public void resetScale(RadioButton bt1, RadioButton bt2) {
            bt1.setScaleX(SCALE_NOMAL);
            bt1.setScaleY(SCALE_NOMAL);
            bt2.setScaleX(SCALE_NOMAL);
            bt2.setScaleY(SCALE_NOMAL);
        }
    

    调用方法如下

      switch (checkedId) {
                        case R.id.rb_home:
                            mVp.setCurrentItem (0);
                            setButtonScale (mRbHome, (float) 1.1);//变大
                            resetScale (mRbTixi, mRbDaohang, mRbGongzong, mRbXiangmu);//恢复默认大小
                            break;
                        case R.id.rb_tixi:
                            mVp.setCurrentItem (1);
                            setButtonScale (mRbTixi, (float) 1.1);
                            resetScale (mRbHome, mRbDaohang, mRbGongzong, mRbXiangmu);//恢复默认大小
                            break;
                        case R.id.rb_gongzong:
                            mVp.setCurrentItem (2);
                            setButtonScale (mRbGongzong, (float) 1.1);//变大
                            resetScale (mRbHome, mRbDaohang, mRbTixi, mRbXiangmu);
                            break;
                        case R.id.rb_daohang:
                            mVp.setCurrentItem (3);
                            setButtonScale (mRbDaohang, (float) 1.1);//变大
                            resetScale (mRbHome, mRbGongzong, mRbTixi, mRbXiangmu);//恢复默认大小
                            break;
                        case R.id.rb_xiangmu:
                            mVp.setCurrentItem (4);
                            setButtonScale (mRbXiangmu, (float) 1.1);//变大
                            resetScale (mRbHome, mRbGongzong, mRbTixi, mRbDaohang);//恢复默认大小
                            break;
                    }
    

    相关文章

      网友评论

          本文标题:RadioButton相关

          本文链接:https://www.haomeiwen.com/subject/epjorctx.html