當前位置: 首頁>>代碼示例>>Java>>正文


Java Layout.Alignment方法代碼示例

本文整理匯總了Java中android.text.Layout.Alignment方法的典型用法代碼示例。如果您正苦於以下問題:Java Layout.Alignment方法的具體用法?Java Layout.Alignment怎麽用?Java Layout.Alignment使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在android.text.Layout的用法示例。


在下文中一共展示了Layout.Alignment方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: getAlignment

import android.text.Layout; //導入方法依賴的package包/類
public Layout.Alignment getAlignment() {
  boolean isRtl = getLayoutDirection() == YogaDirection.RTL;
  switch (mAlignment) {
    // Layout.Alignment.RIGHT and Layout.Alignment.LEFT are @hide :(
    case Gravity.LEFT:
      int index = isRtl ? ALIGNMENT_RIGHT : ALIGNMENT_LEFT;
      return Layout.Alignment.values()[index];
    case Gravity.RIGHT:
      index = isRtl ? ALIGNMENT_LEFT : ALIGNMENT_RIGHT;
      return Layout.Alignment.values()[index];
    case Gravity.CENTER:
      return Layout.Alignment.ALIGN_CENTER;
    case Gravity.NO_GRAVITY:
    default:
      return Layout.Alignment.ALIGN_NORMAL;
  }
}
 
開發者ID:qq565999484,項目名稱:RNLearn_Project1,代碼行數:18,代碼來源:RCTText.java

示例2: adjustBottomLines

import android.text.Layout; //導入方法依賴的package包/類
/**
 * @return True, if adjustments were made that require the view to be invalidated.
 */
private boolean adjustBottomLines() {
  // Bail out if we have a zero width; lines will be adjusted during next layout.
  if (getWidth() == 0) {
    return false;
  }
  int destBottomLines;
  textPaint.setTextSize(bottomTextSize);
  if (tempErrorText != null || helperText != null) {
    Layout.Alignment alignment = (getGravity() & Gravity.RIGHT) == Gravity.RIGHT || isRTL() ?
      Layout.Alignment.ALIGN_OPPOSITE : (getGravity() & Gravity.LEFT) == Gravity.LEFT ?
      Layout.Alignment.ALIGN_NORMAL : Layout.Alignment.ALIGN_CENTER;
    textLayout = new StaticLayout(tempErrorText != null ? tempErrorText : helperText, textPaint, getWidth() - getBottomTextLeftOffset() - getBottomTextRightOffset() - getPaddingLeft() - getPaddingRight(), alignment, 1.0f, 0.0f, true);
    destBottomLines = Math.max(textLayout.getLineCount(), minBottomTextLines);
  } else {
    destBottomLines = minBottomLines;
  }
  if (bottomLines != destBottomLines) {
    getBottomLinesAnimator(destBottomLines).start();
  }
  bottomLines = destBottomLines;
  return true;
}
 
開發者ID:mityung,項目名稱:XERUNG,代碼行數:26,代碼來源:MaterialAutoCompleteTextView.java

示例3: drawIndicatorsTextAbove

import android.text.Layout; //導入方法依賴的package包/類
private void drawIndicatorsTextAbove(Canvas canvas, String text, TextPaint paintText, float x, float y, Layout.Alignment alignment) {

        final float textHeight = calculateTextMultilineHeight(text, paintText);
        y -= textHeight;

        final int width = (int) paintText.measureText(text);
        if (x >= getWidth() - settings.paddingCorners) {
            x = (getWidth() - width - settings.paddingCorners / 2f);
        } else if (x <= 0) {
            x = width / 2f;
        } else {
            x = (x - width / 2f);
        }

        if (x < 0) {
            x = 0;
        }

        if (x + width > getWidth()) {
            x = getWidth() - width;
        }

        drawText(canvas, text, x, y, paintText, alignment);
    }
 
開發者ID:florent37,項目名稱:android-slidr,代碼行數:25,代碼來源:Sushi.java

示例4: adjustBottomLines

import android.text.Layout; //導入方法依賴的package包/類
/**
 * @return True, if adjustments were made that require the view to be invalidated.
 */
private boolean adjustBottomLines() {
  // Bail out if we have a zero width; lines will be adjusted during next layout.
  if (getWidth() == 0) {
    return false;
  }
  int destBottomLines;
  textPaint.setTextSize(bottomTextSize);
  if (tempErrorText != null || helperText != null) {
    Layout.Alignment alignment = (getGravity() & Gravity.RIGHT) == Gravity.RIGHT || isRTL() ?
        Layout.Alignment.ALIGN_OPPOSITE : (getGravity() & Gravity.LEFT) == Gravity.LEFT ?
        Layout.Alignment.ALIGN_NORMAL : Layout.Alignment.ALIGN_CENTER;
    textLayout = new StaticLayout(tempErrorText != null ? tempErrorText : helperText, textPaint, getWidth() - getBottomTextLeftOffset() - getBottomTextRightOffset() - getPaddingLeft() - getPaddingRight(), alignment, 1.0f, 0.0f, true);
    destBottomLines = Math.max(textLayout.getLineCount(), minBottomTextLines);
  } else {
    destBottomLines = minBottomLines;
  }
  if (bottomLines != destBottomLines) {
    getBottomLinesAnimator(destBottomLines).start();
  }
  bottomLines = destBottomLines;
  return true;
}
 
開發者ID:mityung,項目名稱:XERUNG,代碼行數:26,代碼來源:MaterialEditText.java

示例5: getAlignmentByGravity

import android.text.Layout; //導入方法依賴的package包/類
private static Layout.Alignment getAlignmentByGravity(int gravity) {
  switch (gravity & Gravity.RELATIVE_HORIZONTAL_GRAVITY_MASK) {
    case Gravity.START:
      return Layout.Alignment.ALIGN_NORMAL;
    case Gravity.END:
      return Layout.Alignment.ALIGN_OPPOSITE;
    case Gravity.LEFT:
      return Layout.Alignment.ALIGN_LEFT;
    case Gravity.RIGHT:
      return Layout.Alignment.ALIGN_RIGHT;
    case Gravity.CENTER_HORIZONTAL:
      return Layout.Alignment.ALIGN_CENTER;
    default:
      return Layout.Alignment.ALIGN_NORMAL;
  }
}
 
開發者ID:lsjwzh,項目名稱:FastTextView,代碼行數:17,代碼來源:TextViewAttrsHelper.java

示例6: getTextStyles

import android.text.Layout; //導入方法依賴的package包/類
private static String getTextStyles(Spanned text, int start, int end,
                                    boolean forceNoVerticalMargin, boolean includeTextAlign) {
    String margin = null;
    String textAlign = null;
    if (forceNoVerticalMargin) {
        margin = "margin-top:0; margin-bottom:0;";
    }
    if (includeTextAlign) {
        final AlignmentSpan[] alignmentSpans = text.getSpans(start, end, AlignmentSpan.class);
        // Only use the last AlignmentSpan with flag SPAN_PARAGRAPH
        for (int i = alignmentSpans.length - 1; i >= 0; i--) {
            AlignmentSpan s = alignmentSpans[i];
            if ((text.getSpanFlags(s) & Spanned.SPAN_PARAGRAPH) == Spanned.SPAN_PARAGRAPH) {
                final Layout.Alignment alignment = s.getAlignment();
                if (alignment == Layout.Alignment.ALIGN_NORMAL) {
                    textAlign = "text-align:start;";
                } else if (alignment == Layout.Alignment.ALIGN_CENTER) {
                    textAlign = "text-align:center;";
                } else if (alignment == Layout.Alignment.ALIGN_OPPOSITE) {
                    textAlign = "text-align:end;";
                }
                break;
            }
        }
    }
    if (margin == null && textAlign == null) {
        return "";
    }
    final StringBuilder style = new StringBuilder(" style=\"");
    if (margin != null && textAlign != null) {
        style.append(margin).append(" ").append(textAlign);
    } else if (margin != null) {
        style.append(margin);
    } else if (textAlign != null) {
        style.append(textAlign);
    }
    return style.append("\"").toString();
}
 
開發者ID:Pixplicity,項目名稱:HtmlCompat,代碼行數:39,代碼來源:HtmlCompat.java

示例7: drawText

import android.text.Layout; //導入方法依賴的package包/類
private void drawText(Canvas canvas, String text, float x, float y, TextPaint paint, Layout.Alignment aligment) {
    canvas.save();
    {
        canvas.translate(x, y);
        final StaticLayout staticLayout = new StaticLayout(text, paint, (int) paint.measureText(text), aligment, 1.0f, 0, false);
        staticLayout.draw(canvas);
    }
    canvas.restore();
}
 
開發者ID:florent37,項目名稱:android-slidr,代碼行數:10,代碼來源:Slidr.java

示例8: drawMultilineText

import android.text.Layout; //導入方法依賴的package包/類
private void drawMultilineText(Canvas canvas, String text, float x, float y, TextPaint paint, Layout.Alignment aligment) {
    final float lineHeight = paint.getTextSize();
    float lineY = y;
    for (CharSequence line : text.split("\n")) {
        canvas.save();
        {
            final float lineWidth = (int) paint.measureText(line.toString());
            float lineX = x;
            if (aligment == Layout.Alignment.ALIGN_CENTER) {
                lineX -= lineWidth / 2f;
            }
            if (lineX < 0) {
                lineX = 0;
            }

            final float right = lineX + lineWidth;
            if (right > canvas.getWidth()) {
                lineX = canvas.getWidth() - lineWidth - settings.paddingCorners;
            }

            canvas.translate(lineX, lineY);
            final StaticLayout staticLayout = new StaticLayout(line, paint, (int) lineWidth, aligment, 1.0f, 0, false);
            staticLayout.draw(canvas);

            lineY += lineHeight;
        }
        canvas.restore();
    }

}
 
開發者ID:florent37,項目名稱:android-slidr,代碼行數:31,代碼來源:Slidr.java

示例9: getTextAlignment

import android.text.Layout; //導入方法依賴的package包/類
public static Layout.Alignment getTextAlignment(Map<String, Object> style){
  Layout.Alignment alignment= Layout.Alignment.ALIGN_NORMAL;
  String textAlign= (String) style.get(Constants.Name.TEXT_ALIGN);
  if(TextUtils.equals(Constants.Value.LEFT,textAlign)){
    alignment= Layout.Alignment.ALIGN_NORMAL;
  }
  else if(TextUtils.equals(Constants.Value.CENTER,textAlign)){
    alignment=Layout.Alignment.ALIGN_CENTER;
  }
  else if(TextUtils.equals(Constants.Value.RIGHT,textAlign)){
    alignment= Layout.Alignment.ALIGN_OPPOSITE;
  }
  return alignment;
}
 
開發者ID:amap-demo,項目名稱:weex-3d-map,代碼行數:15,代碼來源:WXStyle.java

示例10: configure

import android.text.Layout; //導入方法依賴的package包/類
public void configure(float x, float y, float minXLeft, float maxXRight, Layout.Alignment alignment) {
    this.alignment = alignment;
    this.x = x;
    this.y = y;
    this.minXLeft = minXLeft;
    this.maxXRight = maxXRight;
}
 
開發者ID:florent37,項目名稱:MyLittleCanvas,代碼行數:8,代碼來源:TextShape.java

示例11: getLayoutAlignment

import android.text.Layout; //導入方法依賴的package包/類
public static Layout.Alignment getLayoutAlignment(View view, int gravity) {
  Layout.Alignment alignment;
  if (Build.VERSION.SDK_INT >= 17) {
    switch (view.getTextAlignment()) {
      case android.view.View.TEXT_ALIGNMENT_GRAVITY:
        alignment = getAlignmentByGravity(gravity);
        break;
      case android.view.View.TEXT_ALIGNMENT_TEXT_START:
        alignment = Layout.Alignment.ALIGN_NORMAL;
        break;
      case android.view.View.TEXT_ALIGNMENT_TEXT_END:
        alignment = Layout.Alignment.ALIGN_OPPOSITE;
        break;
      case android.view.View.TEXT_ALIGNMENT_CENTER:
        alignment = Layout.Alignment.ALIGN_CENTER;
        break;
      case android.view.View.TEXT_ALIGNMENT_VIEW_START:
        alignment = (ViewCompat.getLayoutDirection(view) == LAYOUT_DIRECTION_RTL) ?
            Layout.Alignment.ALIGN_RIGHT : Layout.Alignment.ALIGN_LEFT;
        break;
      case android.view.View.TEXT_ALIGNMENT_VIEW_END:
        alignment = (ViewCompat.getLayoutDirection(view) == LAYOUT_DIRECTION_RTL) ?
            Layout.Alignment.ALIGN_LEFT : Layout.Alignment.ALIGN_RIGHT;
        break;
      case android.view.View.TEXT_ALIGNMENT_INHERIT:
        // This should never happen as we have already resolved the text alignment
        // but better safe than sorry so we just fall through
      default:
        alignment = Layout.Alignment.ALIGN_NORMAL;
        break;
    }
    return alignment;
  } else {
    return getAlignmentByGravity(gravity);
  }
}
 
開發者ID:lsjwzh,項目名稱:FastTextView,代碼行數:37,代碼來源:TextViewAttrsHelper.java

示例12: createStaticLayout

import android.text.Layout; //導入方法依賴的package包/類
public static StaticLayout createStaticLayout(CharSequence source, TextPaint paint, int width, Layout.Alignment align, float spacingmult, float spacingadd, boolean includepad, TextUtils.TruncateAt ellipsize, int ellipsisWidth, int maxLines) {
    return createStaticLayout(source, 0, source.length(), paint, width, align, spacingmult, spacingadd, includepad, ellipsize, ellipsisWidth, maxLines);
}
 
開發者ID:pooyafaroka,項目名稱:PlusGram,代碼行數:4,代碼來源:StaticLayoutEx.java

示例13: setTextAlign

import android.text.Layout; //導入方法依賴的package包/類
public WebvttCssStyle setTextAlign(Layout.Alignment textAlign) {
  this.textAlign = textAlign;
  return this;
}
 
開發者ID:sanjaysingh1990,項目名稱:Exoplayer2Radio,代碼行數:5,代碼來源:WebvttCssStyle.java

示例14: getTextAlign

import android.text.Layout; //導入方法依賴的package包/類
public Layout.Alignment getTextAlign() {
  return textAlign;
}
 
開發者ID:MLNO,項目名稱:airgram,代碼行數:4,代碼來源:TtmlStyle.java

示例15: createTextLayout

import android.text.Layout; //導入方法依賴的package包/類
private static Layout createTextLayout(
    int width,
    YogaMeasureMode widthMode,
    TextUtils.TruncateAt ellipsize,
    boolean shouldIncludeFontPadding,
    int maxLines,
    boolean isSingleLine,
    CharSequence text,
    int textSize,
    float extraSpacing,
    float spacingMultiplier,
    int textStyle,
    Layout.Alignment textAlignment) {
  Layout newLayout;

  final @TextLayoutBuilder.MeasureMode int textMeasureMode;
  switch (widthMode) {
    case UNDEFINED:
      textMeasureMode = TextLayoutBuilder.MEASURE_MODE_UNSPECIFIED;
      break;
    case EXACTLY:
      textMeasureMode = TextLayoutBuilder.MEASURE_MODE_EXACTLY;
      break;
    case AT_MOST:
      textMeasureMode = TextLayoutBuilder.MEASURE_MODE_AT_MOST;
      break;
    default:
      throw new IllegalStateException("Unexpected size mode: " + widthMode);
  }

  sTextLayoutBuilder
      .setEllipsize(ellipsize)
      .setMaxLines(maxLines)
      .setSingleLine(isSingleLine)
      .setText(text)
      .setTextSize(textSize)
      .setWidth(width, textMeasureMode);

  sTextLayoutBuilder.setTextStyle(textStyle);

  sTextLayoutBuilder.setTextDirection(TextDirectionHeuristicsCompat.FIRSTSTRONG_LTR);
  sTextLayoutBuilder.setIncludeFontPadding(shouldIncludeFontPadding);
  sTextLayoutBuilder.setTextSpacingExtra(extraSpacing);
  sTextLayoutBuilder.setTextSpacingMultiplier(spacingMultiplier);
  sTextLayoutBuilder.setAlignment(textAlignment);

  newLayout = sTextLayoutBuilder.build();

  sTextLayoutBuilder.setText(null);

  return newLayout;
}
 
開發者ID:qq565999484,項目名稱:RNLearn_Project1,代碼行數:53,代碼來源:RCTText.java


注:本文中的android.text.Layout.Alignment方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。