LineBreaker 类

定义

为 em>单<段/em> 段落提供自动换<行。

[Android.Runtime.Register("android/graphics/text/LineBreaker", ApiSince=29, DoNotGenerateAcw=true)]
public class LineBreaker : Java.Lang.Object
[<Android.Runtime.Register("android/graphics/text/LineBreaker", ApiSince=29, DoNotGenerateAcw=true)>]
type LineBreaker = class
    inherit Object
继承
LineBreaker
属性

注解

为 em>单<段/em> 段落提供自动换<行。

<code>
            Paint paint = new Paint();
            Paint bigPaint = new Paint();
            bigPaint.setTextSize(paint.getTextSize() * 2.0);
            String text = "Hello, Android.";

            // Prepare the measured text
            MeasuredText mt = new MeasuredText.Builder(text.toCharArray())
                .appendStyleRun(paint, 7, false)  // Use paint for "Hello, "
                .appednStyleRun(bigPaint, 8, false)  // Use bigPaint for "Hello, "
                .build();

            LineBreaker lb = new LineBreaker.Builder()
                // Use simple line breaker
                .setBreakStrategy(LineBreaker.BREAK_STRATEGY_SIMPLE)
                // Do not add hyphenation.
                .setHyphenationFrequency(LineBreaker.HYPHENATION_FREQUENCY_NONE)
                // Build the LineBreaker
                .build();

            ParagraphConstraints c = new ParagraphConstraints();
            c.setWidth(240);  // Set the line wieth as 1024px

            // Do the line breaking
            Result r = lb.computeLineBreaks(mt, c, 0);

            // Compute the total height of the text.
            float totalHeight = 0;
            for (int i = 0; i < r.getLineCount(); ++i) {  // iterate over the lines
               totalHeight += r.getLineDescent(i) - r.getLineAscent(i);
            }

            // Draw text to the canvas
            Bitmap bmp = Bitmap.createBitmap(240, totalHeight, Bitmap.Config.ARGB_8888);
            Canvas c = new Canvas(bmp);
            float yOffset = 0f;
            int prevOffset = 0;
            for (int i = 0; i < r.getLineCount(); ++i) {  // iterate over the lines
                int nextOffset = r.getLineBreakOffset(i);
                c.drawText(text, prevOffset, nextOffset, 0f, yOffset, paint);

                prevOffset = nextOffset;
                yOffset += r.getLineDescent(i) - r.getLineAscent(i);
            }
</code>

</p>

适用于 . 的 android.graphics.text.LineBreakerJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

构造函数

LineBreaker(IntPtr, JniHandleOwnership)

为 em>单<段/em> 段落提供自动换<行。

字段

BreakStrategyBalanced
已过时.

指示平衡换行策略的值。

BreakStrategyHighQuality
已过时.

指示高质量断行策略的中断策略的值。

BreakStrategySimple
已过时.

指示简单换行策略的中断策略的值。

HyphenationFrequencyFull
已过时.

连字符频率的值,指示自动断字符的完整量。

HyphenationFrequencyNone
已过时.

连字符频率的值,指示没有自动断字符。

HyphenationFrequencyNormal
已过时.

连字符频率的值,指示轻量自动断字符。

JustificationModeInterWord
已过时.

对齐模式的值,指示文本通过拉伸字距来对齐。

JustificationModeNone
已过时.

表示无理由的理由模式的值。

属性

Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
JniIdentityHashCode

为 em>单<段/em> 段落提供自动换<行。

(继承自 Object)
JniPeerMembers

为 em>单<段/em> 段落提供自动换<行。

PeerReference

为 em>单<段/em> 段落提供自动换<行。

(继承自 Object)
ThresholdClass

为 em>单<段/em> 段落提供自动换<行。

ThresholdType

为 em>单<段/em> 段落提供自动换<行。

方法

Clone()

创建并返回此对象的副本。

(继承自 Object)
ComputeLineBreaks(MeasuredText, LineBreaker+ParagraphConstraints, Int32)

将段落拆分为行。

Dispose()

为 em>单<段/em> 段落提供自动换<行。

(继承自 Object)
Dispose(Boolean)

为 em>单<段/em> 段落提供自动换<行。

(继承自 Object)
Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
ToArray<T>()

为 em>单<段/em> 段落提供自动换<行。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

为 em>单<段/em> 段落提供自动换<行。

(继承自 Object)
Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em> 或 <em>interrupted</em>。<><

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。

(继承自 Object)

显式接口实现

IJavaPeerable.Disposed()

为 em>单<段/em> 段落提供自动换<行。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

为 em>单<段/em> 段落提供自动换<行。

(继承自 Object)
IJavaPeerable.Finalized()

为 em>单<段/em> 段落提供自动换<行。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

为 em>单<段/em> 段落提供自动换<行。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

为 em>单<段/em> 段落提供自动换<行。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

为 em>单<段/em> 段落提供自动换<行。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

为 em>单<段/em> 段落提供自动换<行。

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

为 em>单<段/em> 段落提供自动换<行。

GetJniTypeName(IJavaPeerable)

为 em>单<段/em> 段落提供自动换<行。

适用于