美文网首页
ConstraintLayout.LayoutParams动态设

ConstraintLayout.LayoutParams动态设

作者: iamayden | 来源:发表于2019-07-16 21:31 被阅读0次

2019.07.16

  • ConstraintLayout.LayoutParams动态设置视图
  • ConstraintLayout动态约束View位置
  • 获取屏幕的宽高
  • 获取当前视图宽高
  • scrollTo与scrollBy前者只移动一次,后者可以调用一次移动一次
 private void settingGlViewCall() {

        DisplayMetrics dm = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(dm);
        ConstraintLayout.LayoutParams lp;
        lp = new ConstraintLayout.LayoutParams(mRlGlSurfaceView.getLayoutParams());

        if (originGlViewWith == mRlGlSurfaceView.getMeasuredWidth()) {
            lp.width = dm.widthPixels;
            lp.height = dm.heightPixels / 2;

        } else {
            lp.width = originGlViewWith;
            lp.height = originGLViewHeight;
        }
        mRlGlSurfaceView.setLayoutParams(lp);

        ConstraintLayout cl = findViewById(R.id.cl_origin);
        ConstraintSet set = new ConstraintSet();
        set.clone(cl);
        set.connect(mRlGlSurfaceView.getId(), ConstraintSet.RIGHT, cl.getId(), ConstraintSet.RIGHT);
        set.applyTo(cl);
    }

  private void settingGlViewCall() {

        DisplayMetrics dm = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(dm);
        ConstraintLayout.LayoutParams lp;
        lp = new ConstraintLayout.LayoutParams(mRlGlSurfaceView.getLayoutParams());

        if (originGlViewWith == mRlGlSurfaceView.getMeasuredWidth()) {
            lp.width = dm.widthPixels;
            lp.height = (int) (dm.heightPixels * 0.55);

            circleRecycle.setVisibility(View.GONE);
            mClCenterLayout.scrollTo(0, -mClCenterLayout.getMeasuredHeight() / 2);

        } else {
            lp.width = originGlViewWith;
            lp.height = originGLViewHeight;

            circleRecycle.setVisibility(View.VISIBLE);
            mClCenterLayout.scrollBy(0, mClCenterLayout.getMeasuredHeight() / 2);
        }
        mRlGlSurfaceView.setLayoutParams(lp);

        ConstraintLayout cl = findViewById(R.id.cl_origin);
        ConstraintSet set = new ConstraintSet();
        set.clone(cl);
        set.connect(mRlGlSurfaceView.getId(), ConstraintSet.RIGHT, cl.getId(), ConstraintSet.RIGHT);
        set.applyTo(cl);
    }

相关文章

网友评论

      本文标题:ConstraintLayout.LayoutParams动态设

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