美文网首页
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