LineBreaker 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为 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
- 继承
- 属性
注解
为 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.LineBreaker
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
构造函数
LineBreaker(IntPtr, JniHandleOwnership) |
为 em>单<段/em> 段落提供自动换<行。 |
字段
BreakStrategyBalanced |
已过时.
指示平衡换行策略的值。 |
BreakStrategyHighQuality |
已过时.
指示高质量断行策略的中断策略的值。 |
BreakStrategySimple |
已过时.
指示简单换行策略的中断策略的值。 |
HyphenationFrequencyFull |
已过时.
连字符频率的值,指示自动断字符的完整量。 |
HyphenationFrequencyNone |
已过时.
连字符频率的值,指示没有自动断字符。 |
HyphenationFrequencyNormal |
已过时.
连字符频率的值,指示轻量自动断字符。 |
JustificationModeInterWord |
已过时.
对齐模式的值,指示文本通过拉伸字距来对齐。 |
JustificationModeNone |
已过时.
表示无理由的理由模式的值。 |
属性
Class |
返回此 |
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> 段落提供自动换<行。 |