android.view.Gravity#NO_GRAVITY源码实例Demo

下面列出了android.view.Gravity#NO_GRAVITY 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

private void attachNavigationView() {

        CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams) getLayoutParams();
        int gravity = Gravity.LEFT;
        if (layoutParams.getAnchorId() != View.NO_ID && layoutParams.anchorGravity != Gravity.NO_GRAVITY) {
            if (Gravity.isHorizontal(layoutParams.anchorGravity)) {
                gravity = layoutParams.anchorGravity;
            }
        } else if (layoutParams.gravity != Gravity.NO_GRAVITY) {
            if (Gravity.isHorizontal(layoutParams.gravity)) {
                gravity = layoutParams.gravity;
            }
        }

        // Gravity.START and Gravity.END don't work for views added in WindowManager with RTL.
        // We need to convert script specific gravity to absolute horizontal value
        // If horizontal direction is LTR, then START will set LEFT and END will set RIGHT.
        // If horizontal direction is RTL, then START will set RIGHT and END will set LEFT.
        gravity = Gravity.getAbsoluteGravity(gravity, ViewCompat.getLayoutDirection(this));

        mWindowManager.addView(mNavigationView, createLayoutParams(gravity));
    }
 
@ReactProp(name = ViewProps.TEXT_ALIGN)
public void setTextAlign(@Nullable String textAlign) {
  if (textAlign == null || "auto".equals(textAlign)) {
    mTextAlign = Gravity.NO_GRAVITY;
  } else if ("left".equals(textAlign)) {
    mTextAlign = Gravity.LEFT;
  } else if ("right".equals(textAlign)) {
    mTextAlign = Gravity.RIGHT;
  } else if ("center".equals(textAlign)) {
    mTextAlign = Gravity.CENTER_HORIZONTAL;
  } else if ("justify".equals(textAlign)) {
    // Fallback gracefully for cross-platform compat instead of error
    mTextAlign = Gravity.LEFT;
  } else {
    throw new JSApplicationIllegalArgumentException("Invalid textAlign: " + textAlign);
  }
  markUpdated();
}
 
@OnCheckedChanged({ R.id.target_align_start, R.id.target_align_center, R.id.target_align_end })
void onTargetAlignmentChanged(RadioButton button, boolean isChecked) {
    if (isChecked) {
        int alignment = Gravity.NO_GRAVITY;
        switch (button.getId()) {
            case R.id.target_align_start:
                alignment = Gravity.START;
                break;
            case R.id.target_align_center:
                alignment = Gravity.CENTER_HORIZONTAL;
                break;
            case R.id.target_align_end:
                alignment = Gravity.END;
                break;
        }
        onUpdateListener.updateTargetTextAlignment(alignment);
    }
}
 
源代码4 项目: XToast   文件: XToast.java
public X setView(View view) {
    mRootView = view;

    ViewGroup.LayoutParams params = mRootView.getLayoutParams();
    if (params != null && mWindowParams.width == WindowManager.LayoutParams.WRAP_CONTENT &&
            mWindowParams.height == WindowManager.LayoutParams.WRAP_CONTENT) {
        // 如果当前 Dialog 的宽高设置了自适应,就以布局中设置的宽高为主
        setWidth(params.width);
        setHeight(params.height);
    }

    // 如果当前没有设置重心,就自动获取布局重心
    if (mWindowParams.gravity == Gravity.NO_GRAVITY) {
        if (params instanceof FrameLayout.LayoutParams) {
            setGravity(((FrameLayout.LayoutParams) params).gravity);
        } else if (params instanceof LinearLayout.LayoutParams) {
            setGravity(((LinearLayout.LayoutParams) params).gravity);
        } else {
            // 默认重心是居中
            setGravity(Gravity.CENTER);
        }
    }

    if (isShow()) {
        update();
    }
    return (X) this;
}
 
@Override
public void onAttachedToLayoutParams(@NonNull CoordinatorLayout.LayoutParams lp) {
  if (lp.dodgeInsetEdges == Gravity.NO_GRAVITY) {
    // If the developer hasn't set dodgeInsetEdges, lets set it to BOTTOM so that
    // we dodge any Snackbars
    lp.dodgeInsetEdges = Gravity.BOTTOM;
  }
}
 
源代码6 项目: AndroidSwipeLayout   文件: SwipeLayout.java
@Override
public void addView(View child, int index, ViewGroup.LayoutParams params) {
    if (child == null) return;
    int gravity = Gravity.NO_GRAVITY;
    try {
        gravity = (Integer) params.getClass().getField("gravity").get(params);
    } catch (Exception e) {
        e.printStackTrace();
    }

    if (gravity > 0) {
        gravity = GravityCompat.getAbsoluteGravity(gravity, ViewCompat.getLayoutDirection(this));

        if ((gravity & Gravity.LEFT) == Gravity.LEFT) {
            mDragEdges.put(DragEdge.Left, child);
        }
        if ((gravity & Gravity.RIGHT) == Gravity.RIGHT) {
            mDragEdges.put(DragEdge.Right, child);
        }
        if ((gravity & Gravity.TOP) == Gravity.TOP) {
            mDragEdges.put(DragEdge.Top, child);
        }
        if ((gravity & Gravity.BOTTOM) == Gravity.BOTTOM) {
            mDragEdges.put(DragEdge.Bottom, child);
        }
    } else {
        for (Map.Entry<DragEdge, View> entry : mDragEdges.entrySet()) {
            if (entry.getValue() == null) {
                //means used the drag_edge attr, the no gravity child should be use set
                mDragEdges.put(entry.getKey(), child);
                break;
            }
        }
    }
    if (child.getParent() == this) {
        return;
    }
    super.addView(child, index, params);
}
 
源代码7 项目: Dashchan   文件: DrawerLayout.java
@Override
protected void onRestoreInstanceState(Parcelable state) {
	if (!(state instanceof SavedState)) {
		super.onRestoreInstanceState(state);
		return;
	}

	final SavedState ss = (SavedState) state;
	super.onRestoreInstanceState(ss.getSuperState());

	if (ss.openDrawerGravity != Gravity.NO_GRAVITY) {
		final View toOpen = findDrawerWithGravity(ss.openDrawerGravity);
		if (toOpen != null) {
			openDrawer(toOpen);
		}
	}

	if (ss.lockModeLeft != LOCK_MODE_UNDEFINED) {
		setDrawerLockMode(ss.lockModeLeft, Gravity.LEFT);
	}
	if (ss.lockModeRight != LOCK_MODE_UNDEFINED) {
		setDrawerLockMode(ss.lockModeRight, Gravity.RIGHT);
	}
	if (ss.lockModeStart != LOCK_MODE_UNDEFINED) {
		setDrawerLockMode(ss.lockModeStart, Gravity.START);
	}
	if (ss.lockModeEnd != LOCK_MODE_UNDEFINED) {
		setDrawerLockMode(ss.lockModeEnd, Gravity.END);
	}
}
 
@Override
protected LayoutParams generateLayoutParams(ViewGroup.LayoutParams p) {
    if (p instanceof LayoutParams) {
        LayoutParams result = new LayoutParams((LayoutParams) p);
        if (result.gravity <= Gravity.NO_GRAVITY) {
            result.gravity = Gravity.CENTER_VERTICAL;
        }
        return result;
    }
    return generateDefaultLayoutParams();
}
 
源代码9 项目: zen4android   文件: ActionMenuView.java
@Override
protected LayoutParams generateLayoutParams(ViewGroup.LayoutParams p) {
    if (p instanceof LayoutParams) {
        LayoutParams result = new LayoutParams((LayoutParams) p);
        if (result.gravity <= Gravity.NO_GRAVITY) {
            result.gravity = Gravity.CENTER_VERTICAL;
        }
        return result;
    }
    return generateDefaultLayoutParams();
}
 
源代码10 项目: bee   文件: UiHandler.java
@Override public boolean onTouch(View v, MotionEvent event) {
  if (gestureDetector.onTouchEvent(event)) {
    return true;
  }
  switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
      touchTime = SystemClock.uptimeMillis();
      touchPos.set(event.getX(), event.getY());
      break;
    case MotionEvent.ACTION_MOVE:
      int x = (int) event.getRawX();
      int y = (int) event.getRawY();

      if (!isMoveable(x, y)) {
        break;
      }
      if (!isInBoundaries(x, y)) {
        break;
      }

      FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) v.getLayoutParams();
      params.topMargin = y - v.getHeight() / 2;
      params.leftMargin = x - v.getWidth() / 2;
      params.gravity = Gravity.NO_GRAVITY;
      v.setLayoutParams(params);
      break;
    default:
      break;
  }
  return SystemClock.uptimeMillis() - touchTime > 200;
}
 
源代码11 项目: zhangshangwuda   文件: ActionMenuView.java
@Override
protected LayoutParams generateLayoutParams(ViewGroup.LayoutParams p) {
    if (p instanceof LayoutParams) {
        LayoutParams result = new LayoutParams((LayoutParams) p);
        if (result.gravity <= Gravity.NO_GRAVITY) {
            result.gravity = Gravity.CENTER_VERTICAL;
        }
        return result;
    }
    return generateDefaultLayoutParams();
}
 
源代码12 项目: Badger   文件: BadgeShapeTest.java
@Test
public void draw_scale() {
    region.set(16, 16, 48, 48);

    TestBadgeShape badgeShape = new TestBadgeShape(0.5f, 1, Gravity.NO_GRAVITY);
    badgeShape.draw(canvas, bounds, paint, 0);

    badgeShape.assertRegion(region);
}
 
源代码13 项目: appcan-android   文件: EBrowserWindow.java
private void hPopOverOpen(EBrwViewEntry entity) {
        if (checkPop(entity)) {
            return;
        }
        EBrowserView eView = new EBrowserView(mContext, entity.mType, this);
//		eView.setVisibility(INVISIBLE);
        eView.setName(entity.mViewName);
        eView.setRelativeUrl(entity.mRelativeUrl);
        eView.setDateType(entity.mDataType);
        LayoutParams newParm = new LayoutParams(entity.mWidth, entity.mHeight);
        newParm.gravity = Gravity.NO_GRAVITY;
        newParm.leftMargin = entity.mX;
        newParm.topMargin = entity.mY;
        newParm.bottomMargin = entity.mBottom;
        EBounceView bounceView = new EBounceView(mContext);
        EUtil.viewBaseSetting(bounceView);
        bounceView.setLayoutParams(newParm);
        bounceView.addView(eView);
        addView(bounceView);
        eView.setHWEnable(entity.mHardware);
        if (entity.checkFlag(EBrwViewEntry.F_FLAG_SHOULD_OP_SYS)) {
            eView.setShouldOpenInSystem(true);
        }
        if (!entity.hasExtraInfo) {
            if (entity.checkFlag(EBrwViewEntry.F_FLAG_OPAQUE)) {
                eView.setOpaque(true);
            } else {
                eView.setOpaque(false);
            }
        }
        if (entity.hasExtraInfo) {
            /** wanglei del 20151124*/
//            eView.setBrwViewBackground(entity.mOpaque, entity.mBgColor, "");
            /** wanglei add 20151124*/
            bounceView.setBounceViewBackground(entity.mOpaque, entity.mBgColor, "", eView);
        }
        /** wanglei add 20151124*/
        eView.setBackgroundColor(Color.TRANSPARENT);
        if (entity.checkFlag(EBrwViewEntry.F_FLAG_OAUTH)) {
            eView.setOAuth(true);
        }
        if (entity.checkFlag(EBrwViewEntry.F_FLAG_WEBAPP)) {
            eView.setWebApp(true);
        }
        eView.setQuery(entity.mQuery);
        eView.init();
        eView.setDownloadCallback(entity.mDownloadCallback);
        eView.setUserAgent(entity.mUserAgent);
        eView.setExeJS(entity.mExeJS);
        if (entity.mExeScale!=-1) eView.setInitialScale(entity.mExeScale);

        if (entity.checkFlag(EBrwViewEntry.F_FLAG_GESTURE)) {
            eView.setSupportZoom();
        }
        if (entity.mFontSize > 0) {
            eView.setDefaultFontSize(entity.mFontSize);
        }
        mPopTable.put(entity.mViewName, eView);
        if (checkFlag(EBrowserWindow.F_WINDOW_FLAG_OPPOP)) {
            mPreQueue.add(entity.mViewName);
        }
        switch (entity.mDataType) {
            case EBrwViewEntry.WINDOW_DATA_TYPE_URL:
//			if (entity.checkFlag(EBrwViewEntry.F_FLAG_OBFUSCATION)) {
                if ((getWidget().m_obfuscation == 1) && !entity.checkFlag(EBrwViewEntry.F_FLAG_WEBAPP)) {
                    eView.needToEncrypt(eView, entity.mUrl, 0);
                } else {
                    eView.newLoadUrl(entity.mUrl);
                }
                break;
            case EBrwViewEntry.WINDOW_DATA_TYPE_DATA:
                eView.newLoadData(entity.mData);
                break;
            case EBrwViewEntry.WINDOW_DATA_TYPE_DATA_URL:
                String date1 = ACEDes.decrypt(entity.mUrl, mContext, false,
                        entity.mData);
                eView.loadDataWithBaseURL(entity.mUrl, date1,
                        EBrowserView.CONTENT_MIMETYPE_HTML,
                        EBrowserView.CONTENT_DEFAULT_CODE, entity.mUrl);
                break;
        }
    }
 
源代码14 项目: 920-text-editor-v2   文件: BottomDrawerLayout.java
void layoutChildren(int left, int top, int right, int bottom,
                                  boolean forceLeftGravity) {
        final int count = getChildCount();

        final int parentLeft = getPaddingLeftWithForeground();
        final int parentRight = right - left - getPaddingRightWithForeground();

        final int parentTop = getPaddingTopWithForeground();
        final int parentBottom = bottom - top - getPaddingBottomWithForeground();
        int symbolHeight = 0;
        // 尽可能先找到Bottom View
        for (int i = count - 1; i >= 0; i--) {
            final View child = getChildAt(i);
            if (child.getVisibility() != GONE) {
                final LayoutParams lp = (LayoutParams) child.getLayoutParams();

                final int width = child.getMeasuredWidth();
                final int height = child.getMeasuredHeight();

                int childLeft;
                int childTop;

                int gravity = lp.gravity;
                if (gravity == -1) {
                    gravity = Gravity.NO_GRAVITY;
                }

                final int layoutDirection = ViewCompat.getLayoutDirection(this);
                final int absoluteGravity = Gravity.getAbsoluteGravity(gravity, layoutDirection);
                final int verticalGravity = gravity & Gravity.VERTICAL_GRAVITY_MASK;

                switch (absoluteGravity & Gravity.HORIZONTAL_GRAVITY_MASK) {
                    case Gravity.CENTER_HORIZONTAL:
                        childLeft = parentLeft + (parentRight - parentLeft - width) / 2 +
                        lp.leftMargin - lp.rightMargin;
                        break;
                    case Gravity.RIGHT:
                    case Gravity.END:
                        if (!forceLeftGravity) {
                            childLeft = parentRight - width - lp.rightMargin;
                            break;
                        }
                    case Gravity.LEFT:
                    case Gravity.START:
                    default:
                        childLeft = parentLeft + lp.leftMargin;
                }

                switch (verticalGravity) {
                    case Gravity.TOP:
                        childTop = parentTop + lp.topMargin;
                        break;
                    case Gravity.CENTER_VERTICAL:
                        childTop = parentTop + (parentBottom - parentTop - height) / 2 +
                        lp.topMargin - lp.bottomMargin;
                        break;
                    case Gravity.BOTTOM:
                        symbolHeight = ((ViewGroup)child).getChildCount() > 0 ? ((ViewGroup)child).getChildAt(0).getMeasuredHeight() : 0;
                        float offset = mSlideOffset == 0 ? (symbolHeight == 0 ? 0.3f : symbolHeight / (float)height) : mSlideOffset;
                        childTop = parentBottom - (int) (height * offset);
//                        childTop = parentBottom - height - lp.bottomMargin;
                        break;
                    default:
                        childTop = parentTop + lp.topMargin;
                }

                child.layout(childLeft, childTop, childLeft + width, childTop + height);
            }
        }

    }
 
private static int resolveGravity(int gravity) {
    return gravity == Gravity.NO_GRAVITY ? GravityCompat.START | Gravity.TOP : gravity;
}
 
源代码16 项目: AndroidProject   文件: BaseDialog.java
/**
 * 创建
 */
@SuppressLint("RtlHardcoded")
public BaseDialog create() {

    // 判断布局是否为空
    if (mContentView == null) {
        throw new IllegalArgumentException("are you ok?");
    }

    // 如果当前没有设置重心,就设置一个默认的重心
    if (mGravity == Gravity.NO_GRAVITY) {
        mGravity = Gravity.CENTER;
    }

    // 如果当前没有设置动画效果,就设置一个默认的动画效果
    if (mAnimations == AnimAction.NO_ANIM) {
        switch (mGravity) {
            case Gravity.TOP:
                mAnimations = AnimAction.TOP;
                break;
            case Gravity.BOTTOM:
                mAnimations = AnimAction.BOTTOM;
                break;
            case Gravity.LEFT:
                mAnimations = AnimAction.LEFT;
                break;
            case Gravity.RIGHT:
                mAnimations = AnimAction.RIGHT;
                break;
            default:
                mAnimations = AnimAction.DEFAULT;
                break;
        }
    }

    mDialog = createDialog(mContext, mThemeId);

    mDialog.setContentView(mContentView);
    mDialog.setCancelable(mCancelable);
    if (mCancelable) {
        mDialog.setCanceledOnTouchOutside(mCanceledOnTouchOutside);
    }

    // 设置参数
    Window window = mDialog.getWindow();
    if (window != null) {
        WindowManager.LayoutParams params = window.getAttributes();
        params.width = mWidth;
        params.height = mHeight;
        params.gravity = mGravity;
        params.windowAnimations = mAnimations;
        window.setAttributes(params);
        if (mBackgroundDimEnabled) {
            window.addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
            window.setDimAmount(mBackgroundDimAmount);
        } else {
            window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
        }
    }

    if (mOnShowListeners != null) {
        mDialog.setOnShowListeners(mOnShowListeners);
    }

    if (mOnCancelListeners != null) {
        mDialog.setOnCancelListeners(mOnCancelListeners);
    }

    if (mOnDismissListeners != null) {
        mDialog.setOnDismissListeners(mOnDismissListeners);
    }

    if (mOnKeyListener != null) {
        mDialog.setOnKeyListener(mOnKeyListener);
    }

    for (int i = 0; mClickArray != null && i < mClickArray.size(); i++) {
        mContentView.findViewById(mClickArray.keyAt(i)).setOnClickListener(new ViewClickWrapper(mDialog, mClickArray.valueAt(i)));
    }

    Activity activity = getActivity();
    if (activity != null) {
        DialogLifecycle.with(activity, mDialog);
    }

    return mDialog;
}
 
源代码17 项目: something.apk   文件: MarginDrawerLayout.java
boolean isContentView(View child) {
    return ((LayoutParams) child.getLayoutParams()).gravity == Gravity.NO_GRAVITY;
}
 
源代码18 项目: ProjectX   文件: LineDrawable.java
public LineDrawable(int backgroundColor, int lineColor, float lineSize) {
    this(backgroundColor, lineColor, lineSize, Gravity.NO_GRAVITY);
}
 
源代码19 项目: PocketEOS-Android   文件: SwipeLayout.java
/**
 * 判断child是不是ContentView
 *
 * @param view child
 * @return 判断是不是没有设置Gravity
 */
boolean isContentView(View view) {
    final LayoutParams lp = (LayoutParams) view.getLayoutParams();
    final int gravity = lp.gravity;
    return gravity == Gravity.NO_GRAVITY;
}
 
源代码20 项目: ticdesign   文件: CoordinatorLayout.java
/**
 * Return the given gravity value or the default if the passed value is NO_GRAVITY.
 * This should be used for children that are not anchored to another view or a keyline.
 */
private static int resolveGravity(int gravity) {
    return gravity == Gravity.NO_GRAVITY ? GravityCompat.START | Gravity.TOP : gravity;
}