Android Full Justification

Overview

LIBRARY IS NO LONGER MAINTAINED

If you want to adopt + maintain this library, please drop me a message - [email protected]

Gittip Android Arsenal Build Status Maven Central
Logo

Android Full Justification

About

This library will provide you a way to justify text. It supports both plain text and Spannables. Additionally, the library can auto-hyphentate your displayed content (thanks to @muriloandrade).

Compatible for Android 2.2 to 5.X

Other Libraries

Screenshot

Preview

Demo

Imgur

#Recent 01/11/2015 ► Added support for very long documents with fading and progress listener
01/10/2015 ► Refractored / renamed classes
01/04/2015 ► Improved caching support which allows for smooth scrolling
01/02/2015 ► Added XML attributes for DocumentView

Wiki

For examples, tests, and API refer to the Android-TextJustify Wiki.

Install

Just add to your build.gradle

dependencies {
    compile 'com.github.bluejamesbond:textjustify-android:2.1.6'
}

Known Issues

Status Issues
CLOSED Scroll caching for very large documents i.e. > 4000 paragaphs
OPEN Add letter-spacing feature like CSS
OPEN Improve text strike-through
OPEN Improve text underline
CLOSED Support more features like TextView in terms of Paint settings
Comments
  • Setting text with spannable, wont update unless i click and drag on textview

    Setting text with spannable, wont update unless i click and drag on textview

    private Spannable highlightString(String original, String search) {
        String rep = original;
        String newS = rep.replace(search, "<font color='red'>" + search + "</font>");
        ArticleBuilder amb = new ArticleBuilder();
        amb.append(
                newS
                , false, new RelativeSizeSpan(1f), new JustifiedSpan()
        );
        return amb;
        }
    

    I am setting the text of my document view using the above which results in:

    http://puu.sh/fepY7/a2edfbad2a.png

    However, when i select a new line to highlight, NOTHING happens, setting the text view to ANY content, normal spannable string or otherwise, the view refuses to update, the only way i can get it to show the new value is to tap and drag on the view, how peculiar?

    Thanks!

    opened by broakenmedia 21
  • DocumentView in a row item of ListView is not triggering ListView.OnItemClick listener

    DocumentView in a row item of ListView is not triggering ListView.OnItemClick listener

    Hi, I'm having some problems when using DocumentView in a row item, it makes the whole row item not clickable. I fixed this by android:descendantFocusability="blocksDescendants" on the RelativeLayout. The problem however is that selecting the DocumentView does not select the Row Item, unlike using a normal TextView does. Clicking outside the DocumentView does indeed trigger the Row Item. What I want to achieve is that clicking the DocumentView, selects the Row Item similar to how it works when I use a normal TextView. Is this an ongoing issue or I'm doing something wrong?

    I'll be attaching my layout if that helps. screen shot 2015-01-24 at 10 12 29 am

    next-release 
    opened by polcham 16
  • Library not clear

    Library not clear

    To be honest, i've spent hours trying to find a way to make use of this library and to attached it to view.. it was so difficult, can you help on how?

    I want to make use of ArticleBuilder(), so how do i make reference to view where i have this --> <com.bluejamesbond.text.DocumentView xmlns:document="http://schemas.android.com/apk/res-auto" android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="+id/instruction" />

    here is my java code

        a = new ArticleBuilder();
        a.append("WHO: Ebola Cases",
                false, new RelativeSizeSpan(2f), new StyleSpan(Typeface.BOLD))
                .append("<font color=0xFFC801>Sam Frizell</font><font color=0x888888> @Sam_Frizell  Oct. 25, 2014</font>",
                        false, new RelativeSizeSpan(0.8f), new StyleSpan(Typeface.BOLD))
                .append("In New York and New Jersey, governors Andrew Cuomo and Chris Christie have implemented controversial quarantines on all healthcare workers returning from West Africa after a doctor returning from Guinea contracted the disease and was diagnosed in New York.",
                        true, new RelativeSizeSpan(1f), new JustifiedSpan());
    
        DocumentView documentView = new DocumentView(getActivity(), R.id.instruction);  // Support spanned text
        documentView.setText(a); // Set to `true` to enable justification
    

    Doing it this way generate error

    Process: com.samsoft.cbc.studio, PID: 2834
    java.lang.NullPointerException
            at com.bluejamesbond.text.DocumentView$MeasureTask.onPostExecute(DocumentView.java:729)
            at com.bluejamesbond.text.DocumentView$MeasureTask.onPostExecute(DocumentView.java:685)
            at android.os.AsyncTask.finish(AsyncTask.java:632)
            at android.os.AsyncTask.access$600(AsyncTask.java:177)
            at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5017)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
            at dalvik.system.NativeStart.main(Native Method)
    

    Any Solution on how to relate the view and the java code together, if i'm not doing it right.. please let me know. Thanks

    opened by samsoft00 16
  • Problem in option 2

    Problem in option 2

    I have problem this is link http://stackoverflow.com/questions/21202560/justify-text-in-textview-not-working-properly I have asked this question on stackoverflow but no one answer me.

    opened by john2112 15
  • Khmer not support

    Khmer not support

    Thank you so much for you library it is very helpful, but I got the problem when I use it with Khmer unicode. it doesn't working well. Can you please help me to to finger-out this problem. Thank you. Bunthoeun

    screen shot 2015-01-19 at 2 55 13 pm screenshot_2015-01-19-15-04-37

    opened by bpbunthoeun 13
  • Upload to maven central?

    Upload to maven central?

    Are you planning to upload this neat library to Maven Central? It would certainly make it more accessible for new developers to include the project with a one-liner in their gradle config. :)

    opened by ened 9
  • Spacing between words

    Spacing between words

    Justify text working on every device. But in some lines spacing between words fine and in some lines so much spacing. So extra spacing not looks good. Any solution for this?

    opened by john2112 9
  • Hyphenation

    Hyphenation

    Hi, I saw you made some amazing improvements in the new version of TextJustify, including the hyphenation, congratulations.

    Now I’m trying to implement this new version into my project but I’m facing an issue.

    If I right understand, the new way to get texts hyphenatated is:

    docView.getDocumentLayoutParams().setHyphenator(new Hyphenator(HyphenPattern.PT));
    docView.getDocumentLayoutParams().setHyphenated(true);
    

    This way, nothing happens, seems like LayoutParams.setHyphenator() method will always just return (without set). So I made some changes in this method and have the hyphenator settled.

    But now, I’m facing an Exception:

    java.util.ConcurrentModificationException at java.util.LinkedList$LinkIterator.next(LinkedList.java:124) at com.bluejamesbond.text.DocumentLayout.measure(DocumentLayout.java:222) at com.bluejamesbond.text.DocumentView.onMeasure(DocumentView.java:142) …

    Let me know if you need more details. Thank you.

    opened by muriloandrade 8
  • Spannable TextView with different colors

    Spannable TextView with different colors

    Given the following program:

    TextViewEx textView = (TextViewEx) findViewById(R.id.textView1); textView.setText("", true); Spannable span = Spannable.Factory.getInstance().newSpannable("Hello "); span.setSpan(new ForegroundColorSpan(Color.RED), 0, span.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); span = Spannable.Factory.getInstance().newSpannable(" world!"); span.setSpan(new ForegroundColorSpan(Color.GREEN), 0, span.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

    The output text is printed without any red or green color. Is there any way to solve the justifying of a TextViewEx with different styles?

    opened by andresgr 8
  • Library is a memory hog

    Library is a memory hog

    I have done some simple testing of the memory resources of this app and the standard TextView implementation. I only used this app for justification purposes.

    This libary, used to replace just one TextView, eats up 15MB of memory. This seems like a lot extra. While there might not be much that you can do, you might be able to make a light-version of this library that focuses on the simple use-cases your library is can be used for - like just justifing text.

    opened by ciscorucinski 7
  • Text inside ScrollView not reaching to the end

    Text inside ScrollView not reaching to the end

    When you put the TextViewEx inside a ScrollVIew the scroller doesnt show complete text, it leaves some behind, its like its not calculating the height properly.

    This is the beggining of the textViewEx screenshot 2014-05-03 17 03 00

    This is the bottom, and the scroller its maxed out, and as you can see some of the text is missing. screenshot 2014-05-03 17 03 18

    opened by ghost 7
  • Pagination

    Pagination

    What's done:

    • Add pagination support
    • Add long formatted paginated text example
    • Fix some common library bugs

    Known bugs:

    • On switch orientation, text draw failed with IndexOutOfBoundsException
    • Pagination works correctly only if cacheConfig == CacheConfig.NO_CACHE
    opened by Nikita-Boyarskikh 0
  • bug: java.lang.IllegalArgumentException: width and height must be > 0

    bug: java.lang.IllegalArgumentException: width and height must be > 0

    It does not always happen, sometime when giving compilation

    log

                                         java.lang.IllegalArgumentException: width and height must be > 0
                                             at android.graphics.Bitmap.createBitmap(Bitmap.java:829)
                                             at android.graphics.Bitmap.createBitmap(Bitmap.java:808)
                                             at android.graphics.Bitmap.createBitmap(Bitmap.java:775)
                                             at com.bluejamesbond.text.DocumentView$CacheBitmap.<init>(DocumentView.java:809)
                                             at com.bluejamesbond.text.DocumentView.allocateResources(DocumentView.java:632)
                                             at com.bluejamesbond.text.DocumentView.onMeasure(DocumentView.java:477)
                                             at android.view.View.measure(View.java:18805)
                                             at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:716)
                                             at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:462)
                                             at android.view.View.measure(View.java:18805)
                                             at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5952)
                                             at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
                                             at android.support.v7.widget.CardView.onMeasure(CardView.java:218)
                                             at android.view.View.measure(View.java:18805)
                                             at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5952)
                                             at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)
                                             at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)
                                             at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)
                                             at android.view.View.measure(View.java:18805)
                                             at android.support.v4.widget.NestedScrollView.measureChildWithMargins(NestedScrollView.java:1446)
                                             at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
                                             at android.support.v4.widget.NestedScrollView.onMeasure(NestedScrollView.java:512)
                                             at android.view.View.measure(View.java:18805)
                                             at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5952)
                                             at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
                                             at android.view.View.measure(View.java:18805)
                                             at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:716)
                                             at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:462)
                                             at android.view.View.measure(View.java:18805)
                                             at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5952)
                                             at android.support.design.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:714)
                                             at android.support.design.widget.HeaderScrollingViewBehavior.onMeasureChild(HeaderScrollingViewBehavior.java:91)
                                             at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onMeasureChild(AppBarLayout.java:1361)
                                             at android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:784)
                                             at android.view.View.measure(View.java:18805)
                                             at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:1060)
                                             at android.view.View.measure(View.java:18805)
                                             at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5952)
                                             at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
                                             at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)
                                             at android.view.View.measure(View.java:18805)
                                             at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5952)
                                             at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)
                                             at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)
                                             at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)
                                             at android.view.View.measure(View.java:18805)
                                             at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5952)
                                             at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
                                             at android.view.View.measure(View.java:18805)
                                             at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5952)
                                             at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)
                                             at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)
                                             at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)
                                             at android.view.View.measure(View.java:18805)
                                             at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5952)
                                             at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
                                             at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2643)
                                         	at android.view.V
    java.lang.illegalargumentexception: width and height must be > 0                                         at android.graphics.Bitmap.createBitmap(Bitmap.java:829)                                         at android.graphics.Bitmap.createBitmap(Bitmap.java:808)                                         at android.graphics.Bitmap.createBitmap(Bitmap.java:775)                                         at com.bluejamesbond.text.DocumentView$CacheBitmap.<init>(DocumentView.java:809)                                         at com.bluejamesbond.text.DocumentView.allocateResources(DocumentView.java:632)                                         at com.bluejamesbond.text.DocumentView.onMeasure(DocumentView.java:477)                                         at android.view.View.measure(View.java:18805)                                         at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:716)                                         at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:462)                                         at android.view.View.measure(View.java:18805)                                         at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5952)                                         at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)                                         at android.support.v7.widget.CardView.onMeasure(CardView.java:218)                                         at android.view.View.measure(View.java:18805)                                         at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5952)                                         at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)                                         at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)                                         at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)                                         at android.view.View.measure(View.java:18805)                                         at android.support.v4.widget.NestedScrollView.measureChildWithMargins(NestedScrollView.java:1446)                                         at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)                                         at android.support.v4.widget.NestedScrollView.onMeasure(NestedScrollView.java:512)                                         at android.view.View.measure(View.java:18805)                                         at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5952)                                         at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)                                         at android.view.View.measure(View.java:18805)                                         at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:716)                                         at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:462)                                         at android.view.View.measure(View.java:18805)                                         at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5952)                                         at android.support.design.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:714)                                         at android.support.design.widget.HeaderScrollingViewBehavior.onMeasureChild(HeaderScrollingViewBehavior.java:91)                                         at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onMeasureChild(AppBarLayout.java:1361)                                         at android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:784)                                         at android.view.View.measure(View.java:18805)                                         at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:1060)                                         at android.view.View.measure(View.java:18805)                                         at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5952)                                         at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)                                         at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)                                         at android.view.View.measure(View.java:18805)                                         at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5952)                                         at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)                                         at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)                                         at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)                                         at android.view.View.measure(View.java:18805)                                         at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5952)                                         at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)                                         at android.view.View.measure(View.java:18805)                                         at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5952)                                         at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)                                         at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)                                         at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)                                         at android.view.View.measure(View.java:18805)                                         at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5952)                                         at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)                                         at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2643)                                     at android.view.V
    
    opened by webserveis 0
  • Report crash .onMeasure

    Report crash .onMeasure

    I recive this report in one app:

    Huawei P8 Lite (hwALE-H), 2048MB RAM, Android 6.0

    java.lang.IllegalArgumentException: at android.graphics.Bitmap.createBitmap (Bitmap.java:850) at android.graphics.Bitmap.createBitmap (Bitmap.java:829) at android.graphics.Bitmap.createBitmap (Bitmap.java:796) at com.bluejamesbond.text.DocumentView$CacheBitmap.<init> (SourceFile:809) at com.bluejamesbond.text.DocumentView.allocateResources (SourceFile:632) at com.bluejamesbond.text.DocumentView.onMeasure (SourceFile:477) at android.view.View.measure (View.java:18930) at android.widget.RelativeLayout.measureChildHorizontal (RelativeLayout.java:715) at android.widget.RelativeLayout.onMeasure (RelativeLayout.java:461) at android.view.View.measure (View.java:18930) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5976) at android.widget.FrameLayout.onMeasure (FrameLayout.java:194) at android.support.v7.widget.CardView.onMeasure (SourceFile:218) at android.view.View.measure (View.java:18930) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5976) at android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1486) at android.widget.LinearLayout.measureVertical (LinearLayout.java:765) at android.widget.LinearLayout.onMeasure (LinearLayout.java:647) at android.view.View.measure (View.java:18930) at android.support.v4.widget.NestedScrollView.measureChildWithMargins (SourceFile:1446) at android.widget.FrameLayout.onMeasure (FrameLayout.java:194) at android.support.v4.widget.NestedScrollView.onMeasure (SourceFile:512) at android.view.View.measure (View.java:18930) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5976) at android.widget.FrameLayout.onMeasure (FrameLayout.java:194) at android.view.View.measure (View.java:18930) at android.widget.RelativeLayout.measureChildHorizontal (RelativeLayout.java:715) at android.widget.RelativeLayout.onMeasure (RelativeLayout.java:461) at android.view.View.measure (View.java:18930) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5976) at android.support.design.widget.CoordinatorLayout.onMeasureChild (SourceFile:714) at android.support.design.widget.j.onMeasureChild (SourceFile:91) at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onMeasureChild (SourceFile:1361) at android.support.design.widget.CoordinatorLayout.onMeasure (SourceFile:784) at android.view.View.measure (View.java:18930) at android.support.v4.widget.DrawerLayout.onMeasure (SourceFile:1060) at android.view.View.measure (View.java:18930) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5976) at android.widget.FrameLayout.onMeasure (FrameLayout.java:194) at android.support.v7.widget.ContentFrameLayout.onMeasure (SourceFile:139) at android.view.View.measure (View.java:18930) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5976) at android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1486) at android.widget.LinearLayout.measureVertical (LinearLayout.java:765) at android.widget.LinearLayout.onMeasure (LinearLayout.java:647) at android.view.View.measure (View.java:18930) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5976) at android.widget.FrameLayout.onMeasure (FrameLayout.java:194) at android.view.View.measure (View.java:18930) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5976) at android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1486) at android.widget.LinearLayout.measureVertical (LinearLayout.java:765) at android.widget.LinearLayout.onMeasure (LinearLayout.java:647) at android.view.View.measure (View.java:18930) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5976) at android.widget.FrameLayout.onMeasure (FrameLayout.java:194) at com.android.internal.policy.PhoneWindow$DecorView.onMeasure (PhoneWindow.java:2705) at android.view.View.measure (View.java:18930) at android.view.ViewRootImpl.performMeasure (ViewRootImpl.java:2154) at android.view.ViewRootImpl.measureHierarchy (ViewRootImpl.java:1248) at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:1484) at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1139) at android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:6238) at android.view.Choreographer$CallbackRecord.run (Choreographer.java:884) at android.view.Choreographer.doCallbacks (Choreographer.java:696) at android.view.Choreographer.doFrame (Choreographer.java:631) at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:870) at android.os.Handler.handleCallback (Handler.java:743) at android.os.Handler.dispatchMessage (Handler.java:95) at android.os.Looper.loop (Looper.java:150) at android.app.ActivityThread.main (ActivityThread.java:5621) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:794) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:684)

    opened by webserveis 0
  • Image Span test does not work

    Image Span test does not work

    Hi , thanks for sharing this library,but I was confronted with a strange issue,

    After running your example, I sound some feature did not work ,like BackgroundSpan ,ImageSpan, did you consider to make another release version to fix these features?
    Thanks a lot!

    opened by Berlin-newbee 0
Releases(V2.1.1)
RichEditor for Android is a beautiful Rich Text WYSIWYG Editor for Android.

RichEditor for Android is a beautiful Rich Text WYSIWYG Editor for Android. Looking for iOS? Check out cjwirth/RichEditorView Supported Functions Bold

Daichi Furiya 6k Jan 2, 2023
MarkdownView is an Android webview with the capablity of loading Markdown text or file and display it as HTML, it uses MarkdownJ and extends Android webview.

MarkdownView is an Android webview with the capablity of loading Markdown text or file and display it as HTML, it uses MarkdownJ and extends Android webview.

Feras Alnatsheh 1k Dec 20, 2022
Android's TextView that can expand/collapse like the Google Play's app description

ExpandableTextView ExpandableTextView is an Android library that allows developers to easily create an TextView which can expand/collapse just like th

Manabu S. 4k Dec 28, 2022
A library to show emoji in TextView, EditText (like WhatsApp) for Android

Discontinued This projected is discontinued. Please consider using other alternative, i.e EmojiCompat. Contact me if you want to continue working on a

Hieu Rocker 3.6k Jan 5, 2023
Android experiment showing a sinking TextView

Titanic is an Android experiment reproducing this effect.

Romain Piel 1.8k Dec 15, 2022
Android form edit text is an extension of EditText that brings data validation facilities to the edittext.

Android Form EditText Android form edit text is an extension of EditText that brings data validation facilities to the edittext. Example App I built a

Andrea 1.5k Dec 14, 2022
Gmail style MultiAutoCompleteTextView for Android

Version 3.0 The 3.0.1 version is now available! This should resolve a number of text handling issues and lay the groundwork for better support of mixe

Splitwise 1.3k Nov 14, 2022
Advanced Android TextView

Advanced Android TextView Companion app for my Advanced Android TextView talk, demostrating: Animated CompoundDrawable Text shadow Custom font Non-bre

Chiu-Ki Chan 1.2k Dec 9, 2022
[DISCONTINUED] Rrich text editor for android platform. 安卓富文本编辑器,暂停维护

icarus-android Maybe the best rich text editor on android platform. Base on Simditor Features Alignment (left/center/right) Bold Blockquote Code Horiz

Dyson Woo 739 Sep 5, 2022
Android Bubble View

BubbleTextView Custom arrow position Custom fillet radius Custom background color Can be placed anywhere Two default style Two default theme Snapshot

null 669 Nov 11, 2022
A Material Android password view that toggles password visibility via an eye icon.

8/17/2016: As of about an hour ago, this library is deprecated! Support for password visibility is now included in the Design Support Library in TextI

Lisa Wray 715 Dec 29, 2022
RoundedLetterView like the one in Android 5.0 Contacts app

RoundedLetterView RoundedLetterView like the one in Android 5.0 Contacts app Attributes to choose from: rlv_titleText - The text in the first row. rlv

Pavlos-Petros Tournaris 651 Dec 30, 2022
Android library contain custom realisation of EditText component for masking and formatting input text

Masked-Edittext Masked-Edittext android library EditText widget wrapper add masking and formatting input text functionality. Install Maven <dependency

Evgeny Safronov 600 Nov 29, 2022
Circular timer on Android platform.

CircleTimerView [No Longer Support] Circle timer on Android platform. System Requirement Android v2.2+ TODO Developed by AndroidStudio Usage <com.gith

Abbott 515 Nov 19, 2022
An address-autocompleting text field for Android

android-PlacesAutocompleteTextView An AutocompleteTextView that interacts with the Google Maps Places API to provide location results and caches selec

SeatGeek 283 Dec 28, 2022
library to implement and render emojis For Android

Release Notes SuperNova-Emoji SuperNova-Emoji is a library to implement and render emojis. Minimum SDK Level: 9 (2.3) Contact Java Usage To use defaul

Hani Al-momani 360 Jan 3, 2023
Chips EditText, Token EditText, Bubble EditText, Spannable EditText and etc.. There are many names of this control. Here I develop easy to understand , modify and integrate Chips Edit Text widget for Android

Chips EditText Library Chips EditText, Token EditText, Bubble EditText, Spannable EditText and etc.. There are many names of this control. Here I deve

kpbird 381 Nov 20, 2022
Float Label Edit Texts for Android

Floating Label Edit Text for Android For more info, see this blog post. Salient features Simple and clean library (open up the source to see for yours

null 428 Nov 25, 2022
AutosizeEditText for Android is an extension of native EditText that offer a smooth auto scale text size.

AutoscaleEditText AutosizeEditText for Android is an extension of native EditText that offer a smooth auto scale text size. Latest Version How to use

Txus Ballesteros 354 Nov 28, 2022