@NonNull private LayoutParams initParams(@NonNull View view, int left, int top) { int[] loc = new int[2]; getLocationOnScreen(loc); final LayoutParams layoutParams = new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); left -= loc[0]; top -= loc[1]; layoutParams.leftMargin = left; layoutParams.topMargin = top; view.setLeft(left); view.setTop(top); if (view.getMeasuredWidth() != 0) { layoutParams.width = view.getMeasuredWidth(); view.setRight(left + layoutParams.width); } if (view.getMeasuredHeight() != 0) { layoutParams.height = view.getMeasuredHeight(); view.setBottom(top + layoutParams.height); } return layoutParams; }
private void reposition() { for (int i = 0; i < getChildCount(); i++) { View child = getChildAt(i); if (child.getVisibility() != GONE) { LayoutParams layoutParams = populateLayoutParams(child); child.setLeft(layoutParams.mLeft); child.setTop(layoutParams.mTop); child.setRight(layoutParams.mRight); child.setBottom(layoutParams.mBottom); } } }
private void setViewBounds(final View view, final int width, final int height) { //TODO make this work for all versions view.setLeft(0); view.setRight(0); view.setRight(width); view.setBottom(height); final ViewParent parent = view.getParent(); if (parent != null && ((View) parent).getRight() != 0 && ((View) parent).getBottom() != 0) { setViewBounds(((View) parent), width, height); } } }
View view = drawerLayout.getChildAt(drawerLayout.getChildCount() - 1); ViewTreeObserver vto = view.getViewTreeObserver(); vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { @Override public boolean onPreDraw() { final DrawerLayout.LayoutParams lp = new DrawerLayout.LayoutParams(view.getWidth(), view.getHeight()); lp.gravity = Gravity.LEFT; view.setLayoutParams(lp); view.setLeft(-view.getMeasuredWidth()); view.getViewTreeObserver().removeOnPreDrawListener(this); return true; } });
v.setVisibility(View.GONE); if (Build.VERSION.SDK_INT > 10) { v.setLeft(v.getLeft() + offset); v.setRight(v.getRight() + offset); } else { v.setVisibility(View.GONE); if (Build.VERSION.SDK_INT > 10) { v.setLeft(v.getLeft() - mTemp1); v.setRight(v.getRight() - mTemp1); } else { v.setVisibility(View.GONE); if (Build.VERSION.SDK_INT > 10) { v.setLeft(v.getLeft() + offset); v.setRight(v.getRight() + offset); } else {
//parent rlOuterView = (SlidingLayout) findViewById(R.id.sl_sliding_view); //child - slides up/down rlAppBarFooter = (RelativeLayout) findViewById(R.id.rl_footer); rlMainView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() { @Override public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) { if( rlOuterView.isMoving() ){ v.setTop(oldTop); v.setBottom(oldBottom); v.setLeft(oldLeft); v.setRight(oldRight); } } });
private void bindViews() { int orientation = getOrientation(); int start = findFirstVisibleItemPosition(); int end = findLastVisibleItemPosition(); for (int i = start; i <= end; i++) { View v = findViewByPosition(i); if (v != null) { if (orientation == RecyclerView.VERTICAL) { v.setLeft(mOffset); } else { v.setTop(mOffset); } } } } }