diff --git a/library/src/main/java/com/bluejamesbond/text/StringDocumentLayout.java b/library/src/main/java/com/bluejamesbond/text/StringDocumentLayout.java index 2ab0323..82ee66d 100644 --- a/library/src/main/java/com/bluejamesbond/text/StringDocumentLayout.java +++ b/library/src/main/java/com/bluejamesbond/text/StringDocumentLayout.java @@ -121,6 +121,18 @@ public boolean onMeasure(IProgress progress, ICancel cancelled) // Line fits, then don't wrap if (wrappedWidth < width) { + float remainWidth = width - wrappedWidth; + switch (params.textAlignment) { + case CENTER: { + x += remainWidth / 2; + break; + } + case RIGHT: { + x += remainWidth; + break; + } + } + // activeCanvas.drawText(paragraph, x, y, paint); tokensList.add(new SingleLine(lineNumber++, x, y, trimParagraph)); y += lineHeight; diff --git a/sample/src/main/AndroidManifest.xml b/sample/src/main/AndroidManifest.xml index 892a5b3..a39d452 100644 --- a/sample/src/main/AndroidManifest.xml +++ b/sample/src/main/AndroidManifest.xml @@ -129,6 +129,10 @@ android:name="com.bluejamesbond.text.sample.test.ForceNoCacheXMLTest" android:configChanges="orientation|keyboardHidden|screenSize" android:theme="@android:style/Theme.NoTitleBar" /> + diff --git a/sample/src/main/java/com/bluejamesbond/text/sample/helper/TestList.java b/sample/src/main/java/com/bluejamesbond/text/sample/helper/TestList.java index 4252fc6..7075511 100644 --- a/sample/src/main/java/com/bluejamesbond/text/sample/helper/TestList.java +++ b/sample/src/main/java/com/bluejamesbond/text/sample/helper/TestList.java @@ -59,6 +59,7 @@ import com.bluejamesbond.text.sample.test.QuoteSpanTest; import com.bluejamesbond.text.sample.test.RTLTest; import com.bluejamesbond.text.sample.test.ShortFormattedTextTest; +import com.bluejamesbond.text.sample.test.SingleWordTest; import com.bluejamesbond.text.sample.test.TextUpdateTest; import com.bluejamesbond.text.sample.test.TextViewTest; import com.bluejamesbond.text.sample.test.WordSpacingTest; @@ -87,7 +88,8 @@ public class TestList extends TestActivity { ShortFormattedTextTest.class, ImageSpanTest.class, TextUpdateTest.class, - ForceNoCacheXMLTest.class + ForceNoCacheXMLTest.class, + SingleWordTest.class }; @Override diff --git a/sample/src/main/java/com/bluejamesbond/text/sample/test/SingleWordTest.java b/sample/src/main/java/com/bluejamesbond/text/sample/test/SingleWordTest.java new file mode 100644 index 0000000..12a5e84 --- /dev/null +++ b/sample/src/main/java/com/bluejamesbond/text/sample/test/SingleWordTest.java @@ -0,0 +1,18 @@ +package com.bluejamesbond.text.sample.test; + +import android.os.Bundle; + +import com.bluejamesbond.text.DocumentView; +import com.bluejamesbond.text.sample.helper.TestActivity; +import com.bluejamesbond.text.style.TextAlignment; + + +public class SingleWordTest extends TestActivity { + + @Override protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + DocumentView centerView = addDocumentView("Center", DocumentView.PLAIN_TEXT); + centerView.getDocumentLayoutParams().setTextAlignment(TextAlignment.CENTER); + } +}