android.widget.EditText#setBreakStrategy ( )源码实例Demo

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

public void apply(EditText editText) {
  editText.setText(mText);
  editText.setTextSize(TypedValue.COMPLEX_UNIT_PX, mTextSize);
  editText.setMinLines(mMinLines);
  editText.setMaxLines(mMaxLines);
  editText.setInputType(mInputType);
  editText.setHint(mPlaceholder);
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    editText.setBreakStrategy(mBreakStrategy);
  }
}
 
@Override
public long measure(
    YogaNode node,
    float width,
    YogaMeasureMode widthMode,
    float height,
    YogaMeasureMode heightMode) {
  // measure() should never be called before setThemedContext()
  EditText editText = Assertions.assertNotNull(mDummyEditText);

  if (mLocalData != null) {
    mLocalData.apply(editText);
  } else {
    editText.setTextSize(
        TypedValue.COMPLEX_UNIT_PX,
        mFontSize == UNSET ?
            (int) Math.ceil(PixelUtil.toPixelFromSP(ViewDefaults.FONT_SIZE_SP)) : mFontSize);

    if (mNumberOfLines != UNSET) {
      editText.setLines(mNumberOfLines);
    }

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
        editText.getBreakStrategy() != mTextBreakStrategy) {
      editText.setBreakStrategy(mTextBreakStrategy);
    }
  }

   // make sure the placeholder content is also being measured
   editText.setHint(getPlaceholder());
   editText.measure(
      MeasureUtil.getMeasureSpec(width, widthMode),
      MeasureUtil.getMeasureSpec(height, heightMode));

  return YogaMeasureOutput.make(editText.getMeasuredWidth(), editText.getMeasuredHeight());
}