Animation effects to text, not really textview

Overview

HTextView

Animation effects with custom font support to TextView

see iOS Effects
see Flutter Effects


Screenshot

type gif
Scale
Evaporate
Fall
Line
Typer
Rainbow
Fade

Usage

def htextview_version = "0.1.6"
// as 3.0 use implementation
compile "com.hanks:htextview-base:$htextview_version"        // base library

compile "com.hanks:htextview-fade:$htextview_version"        // optional
compile "com.hanks:htextview-line:$htextview_version"        // optional
compile "com.hanks:htextview-rainbow:$htextview_version"     // optional
compile "com.hanks:htextview-typer:$htextview_version"       // optional

compile "com.hanks:htextview-scale:$htextview_version"       // optional
compile "com.hanks:htextview-evaporate:$htextview_version"   // optional
compile "com.hanks:htextview-fall:$htextview_version"        // optional

line

<com.hanks.htextview.line.LineTextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:paddingRight="10dp"
    android:text="This is LineTextView\nToday is Monday"
    android:textSize="16sp"
    app:animationDuration="3000"
    app:lineColor="#1367bc"
    app:lineWidth="4dp"/>

fade

<com.hanks.htextview.fade.FadeTextView
    android:layout_width="240dp"
    android:layout_height="150dp"
    android:gravity="left"
    android:letterSpacing="0.08"
    android:lineSpacingMultiplier="1.3"
    android:text="This is FadeTextView"
    android:textColor="#fff"
    android:textSize="20sp"
    app:animationDuration="1500"/>

typer

<com.hanks.htextview.typer.TyperTextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="this is init sentence."
    app:charIncrease="3"
    app:typerSpeed="80"/>

rainbow

<com.hanks.htextview.rainbow.RainbowTextView
    android:layout_width="120dp"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:text="this is init sentence"
    android:textSize="20sp"
    app:colorSpace="150dp"
    app:colorSpeed="4dp"/>

scale (single line)

<com.hanks.htextview.scale.ScaleTextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="this is init sentence"
    android:textSize="16sp"/>

evaporate (single line)

<com.hanks.htextview.evaporate.EvaporateTextView
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:gravity="center"
    android:paddingTop="8dp"
    android:text="this is init sentence"
    android:textSize="20sp"/>

fall (single line)

<com.hanks.htextview.fall.FallTextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="20dp"
    android:text="this is init sentence"
    android:textSize="16sp"/>

Third Party Bindings

React Native

You may now use this library with React Native via the module here

License

This library is licensed under the Apache Software License, Version 2.0.

See LICENSE for full of the license text.

Copyright (C) 2015 [Hanks](https://github.com/hanks-zyh)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comments
  • Crash using EvaporateTextView!

    Crash using EvaporateTextView!

        EvaporateTextView bText = (EvaporateTextView) myInflater.findViewById(R.id.bText);
        bText .animateText("Hi, There!");
    
          <com.hanks.htextview.evaporate.EvaporateTextView
                android:id="@+id/bText"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:textColor="@color/white"
                android:textSize="20sp" />
    
    

    Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'float android.text.Layout.getLineLeft(int)' on a null object reference at com.hanks.htextview.evaporate.EvaporateText.animateText(EvaporateText.java:52) at com.hanks.htextview.evaporate.EvaporateTextView.animateText(EvaporateTextView.java:46) at com.swish.perfectshot.fragment.IntroFragment.onCreateView(IntroFragment.java:83)

    Closed 
    opened by kazaky 15
  • ScaleText crash

    ScaleText crash

    ScaleTextView mToolbarTitle = (ScaleTextView) findViewById(R.id.toolbar_title);
    mToolbarTitle.animateText(title);
    
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'float android.text.Layout.getLineLeft(int)' on a null object reference
                                                                              at com.hanks.htextview.scale.ScaleText.animateText(ScaleText.java:49)
                                                                              at com.hanks.htextview.scale.ScaleTextView.animateText(ScaleTextView.java:48)
    
    Closed 
    opened by Kolyall 10
  • out of memory error

    out of memory error

    I have placed the animated view inside of a fragment that is hold by a ViewPager. When I make the fragment visible for the first time everything is alright. But when the fragment gets reloaded I get the following issue:

    FATAL EXCEPTION: main Process: com.ads.adstimer, PID: 14680 java.lang.OutOfMemoryError: Failed to allocate a 2007612 byte allocation with 1750816 free bytes and 1709KB until OOM at dalvik.system.VMRuntime.newNonMovableArray(Native Method) at android.graphics.Bitmap.nativeCreate(Native Method) at android.graphics.Bitmap.createBitmap(Bitmap.java:831) at android.graphics.Bitmap.createBitmap(Bitmap.java:808) at android.graphics.Bitmap.createBitmap(Bitmap.java:739) at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:615) at com.hanks.htextview.animatetext.AnvilText.animateStart(AnvilText.java:67) at com.hanks.htextview.animatetext.HText.animateText(HText.java:74) at com.hanks.htextview.HTextView.animateText(HTextView.java:97) at com.ads.adstimer.fragment.Registration.Slides.FragmentScanCode.onCreateView(FragmentScanCode.java:37) at android.support.v4.app.Fragment.performCreateView(Fragment.java:1962) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067) at android.support.v4.app.FragmentManagerImpl.attachFragment(FragmentManager.java:1426) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:728) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613) at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:570) at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141) at android.support.v4.view.ViewPager.populate(ViewPager.java:1106) at android.support.v4.view.ViewPager.populate(ViewPager.java:952) at android.support.v4.view.ViewPager$3.run(ViewPager.java:251) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858) at android.view.Choreographer.doCallbacks(Choreographer.java:670) at android.view.Choreographer.doFrame(Choreographer.java:603) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

    I hope, you can solve it. I really like that library, good job!

    bug Closed 
    opened by martinprzibylla 7
  • Changing text color

    Changing text color

    Text color is not dynamic, the value set in xml stays the same. For example, if programmatically i decide to change text color, it doesn't work. I tried with .setTextColor() and with SpannableString ForegroundColorSpan method.

    Closed 
    opened by usernotnull 6
  • a crash in scaleText

    a crash in scaleText

    this is the detail message: #3485 java.lang.NullPointerException Attempt to invoke virtual method 'float android.text.Layout.getLineLeft(int)' on a null object reference com.hanks.htextview.base.HText$1.onGlobalLayout(HText.java:55)

    how can i fix this crash?

    Closed 
    opened by chenyusheng 3
  • 直接使用rainbow动画样式会报NullPointException

    直接使用rainbow动画样式会报NullPointException

    java.lang.NullPointerException: Attempt to invoke virtual method 'void android.graphics.LinearGradient.setLocalMatrix(android.graphics.Matrix)' on a null object reference at com.hanks.htextview.animatetext.RainBowText.drawFrame(RainBowText.java:49) at com.hanks.htextview.animatetext.HText.onDraw(HText.java:80) at com.hanks.htextview.HTextView.onDraw(HTextView.java:112) at android.view.View.draw(View.java:16468) at android.view.View.updateDisplayListIfDirty(View.java:15398) at android.view.View.getDisplayList(View.java:15420) at android.view.View.draw(View.java:16190) at android.view.ViewGroup.drawChild(ViewGroup.java:3713) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3506) at android.view.View.updateDisplayListIfDirty(View.java:15393) at android.view.View.getDisplayList(View.java:15420) at android.view.View.draw(View.java:16190) at android.view.ViewGroup.drawChild(ViewGroup.java:3713) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3506) at android.view.View.updateDisplayListIfDirty(View.java:15393) at android.view.View.getDisplayList(View.java:15420) at android.view.View.draw(View.java:16190) at android.view.ViewGroup.drawChild(ViewGroup.java:3713) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3506) at android.view.View.updateDisplayListIfDirty(View.java:15393) at android.view.View.getDisplayList(View.java:15420) at android.view.View.draw(View.java:16190) at android.view.ViewGroup.drawChild(ViewGroup.java:3713) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3506) at android.view.View.updateDisplayListIfDirty(View.java:15393) at android.view.View.getDisplayList(View.java:15420) at android.view.View.draw(View.java:16190) at android.view.ViewGroup.drawChild(ViewGroup.java:3713) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3506) at android.view.View.updateDisplayListIfDirty(View.java:15393) at android.view.View.getDisplayList(View.java:15420) at android.view.View.draw(View.java:16190) at android.view.ViewGroup.drawChild(ViewGroup.java:3713) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3506) at android.view.View.draw(View.java:16471) at android.widget.FrameLayout.draw(FrameLayout.java:598) at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:3107) at android.view.View.updateDisplayListIfDirty(View.java:15398) at android.view.View.getDisplayList(View.java:15420) at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:310) at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:316) at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:355) at android.view.ViewRootImpl.draw(ViewRootImpl.java:2925) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2722) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2309) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1298) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6982) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:821) at android.view.Choreographer.doCallbacks(Choreographer.java:606) at android.view.Choreographer.doFrame(Choreographer.java:576) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:807) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:6872) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)

    bug Closed 
    opened by yuanshuaiding 3
  • gravity=

    gravity="start" isn't working

    I can't align the text inside the animated View to the left. It aligns top. I don't know if it's supposed to work only with gravity "center", because "start" messes with the animation of the characters somehow.

    Closed 
    opened by ndvalkov 3
  • Urgent issues with the readme!

    Urgent issues with the readme!

    There is an urgent issue with the readme in this repo.

    A lot of people suffer from epilepsy and seizures from seeing unexpected moving images quickly, which the readme has a lot of. I'm a representative from Social Justice Code (http://socialjusticecode.org) and we suggest adding a trigger warning to the beginning of the readme, warning users before they scroll down. In addition the content has a few issues, including using cis-terms like "boy" as well as age-ist terms like "old" which may turn away or scare younger viewers, or ones who do not identify as boys. We suggest using a neutral term like "they," or if an oppressed person asks for their pronoun to be included, to generate a new image for them and put it on the site.

    Thank you for your attention to this matter and helping make Github a better place for all people (✿ -‿-)

    opened by MissAbbie 3
  • Error inflating class com.hanks.htextview.HTextView

    Error inflating class com.hanks.htextview.HTextView

    Hi, i started to use your library and i find this error with basic setup that you provided.

    My layout is:

    <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:htext="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.htextviewexample.MainActivity">

    <com.hanks.htextview.HTextView
        android:id="@+id/text"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:background="#000000"
        android:gravity="center"
        android:textColor="#FFFFFF"
        android:textSize="30sp"
        htext:animateType="anvil"
        htext:fontAsset="fonts/font-name.ttf" />
    

    </android.support.constraint.ConstraintLayout>

    My gradle: `apply plugin: 'com.android.application'

    android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { applicationId "com.example.htextviewexample" minSdkVersion 15 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } }

    dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.2.0' compile 'com.android.support.constraint:constraint-layout:1.0.0-beta4' compile 'hanks.xyz:htextview-library:0.1.5' testCompile 'junit:junit:4.12' } `

    And MainActivity:

    `package com.example.htextviewexample;

    import android.support.v7.app.AppCompatActivity; import android.os.Bundle;

    public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
    }
    

    } `

    The Exception is: FATAL EXCEPTION: main Process: com.example.htextviewexample, PID: 6243 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.htextviewexample/com.example.htextviewexample.MainActivity}: android.view.InflateException: Binary XML file line #9: Error inflating class com.hanks.htextview.HTextView

    Closed 
    opened by KonradSzewczuk 2
  • hello,gay,my app show OutOfMemoryError in the HTextView.animateText

    hello,gay,my app show OutOfMemoryError in the HTextView.animateText

    version: compile 'hanks.xyz:htextview-library:0.1.3'

    exception stack:

    java.lang.OutOfMemoryError at android.graphics.Bitmap.nativeCreate(Native Method) at android.graphics.Bitmap.createBitmap(Bitmap.java:726) at android.graphics.Bitmap.createBitmap(Bitmap.java:703) at android.graphics.Bitmap.createBitmap(Bitmap.java:636) at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:516) at com.hanks.htextview.animatetext.AnvilText.animateStart(AnvilText.java:67) at com.hanks.htextview.animatetext.HText.animateText(HText.java:74) at com.hanks.htextview.HTextView.animateText(HTextView.java:97) at com.antzb.fragment.AntMapFragment.showHotActive(AntMapFragment.java:192)

    Closed 
    opened by huiming666 2
  • How set text color and background in pixelate type?

    How set text color and background in pixelate type?

    <com.hanks.htextview.HTextView android:id="@+id/title_htv" android:layout_width="match_parent" android:layout_height="100dp" android:layout_centerInParent="true" android:gravity="center" android:background="@color/primary" android:textColor="#FFFFFF" android:textSize="30sp" htext:animateType="pixelate" />

    This part gives white background and black text

    Closed 
    opened by nominalista 2
  • Shaders are not working

    Shaders are not working

    No Matter where you place shade the shaders is not working in this library.

    Shader textShader=new LinearGradient(0, 0, 0, 20, new int[]{Color.GREEN,Color.BLUE}, new float[]{0, 1}, Shader.TileMode.REPEAT);

        getPaint().setShader(textShader);
    

    normal textview it is working.

    opened by vidvivek 0
  • Fatal Exception: java.lang.NullPointerException

    Fatal Exception: java.lang.NullPointerException

    Fatal Exception: java.lang.NullPointerException Attempt to invoke virtual method 'int android.text.Layout.getLineCount()' on a null object

    com.hanks.htextview.fade.FadeText.drawFrame (FadeText.java:108) com.hanks.htextview.base.HText.onDraw (HText.java:114) com.hanks.htextview.fade.FadeTextView.onDraw (FadeTextView.java:63) android.view.View.draw (View.java:17469) ......................................................................

    Any way to fix this issue?

    opened by Eternalculture 6
  • Fatal Exception: java.lang.NullPointerException

    Fatal Exception: java.lang.NullPointerException

    In some of the users in my application throws Fatal Exception: java.lang.NullPointerException. This exception happens in Android 6, 7, 8. This is statistics from Crashlytics. If you need some information from Crashlytics I can share with you.

    This is exception stack trace from Crashlytics:

    Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'float android.text.Layout.getLineLeft(int)' on a null object reference
           at com.hanks.htextview.scale.ScaleText.drawFrame(ScaleText.java:98)
           at com.hanks.htextview.base.HText.onDraw(HText.java:114)
           at com.hanks.htextview.scale.ScaleTextView.onDraw(ScaleTextView.java:44)
           at android.view.View.draw(View.java:17214)
           at android.view.View.updateDisplayListIfDirty(View.java:16196)
           at android.view.View.draw(View.java:16980)
           at android.view.ViewGroup.drawChild(ViewGroup.java:3729)
           at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3515)
           at android.view.View.updateDisplayListIfDirty(View.java:16191)
           at android.view.View.draw(View.java:16980)
           at android.view.ViewGroup.drawChild(ViewGroup.java:3729)
           at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3515)
           at android.view.View.updateDisplayListIfDirty(View.java:16191)
           at android.view.View.draw(View.java:16980)
           at android.view.ViewGroup.drawChild(ViewGroup.java:3729)
           at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3515)
           at android.view.View.updateDisplayListIfDirty(View.java:16191)
           at android.view.View.draw(View.java:16980)
           at android.view.ViewGroup.drawChild(ViewGroup.java:3729)
           at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3515)
           at android.view.View.updateDisplayListIfDirty(View.java:16191)
           at android.view.View.draw(View.java:16980)
           at android.view.ViewGroup.drawChild(ViewGroup.java:3729)
           at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3515)
           at android.view.View.updateDisplayListIfDirty(View.java:16191)
           at android.view.View.draw(View.java:16980)
           at android.view.ViewGroup.drawChild(ViewGroup.java:3729)
           at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3515)
           at android.view.View.updateDisplayListIfDirty(View.java:16191)
           at android.view.View.draw(View.java:16980)
           at android.view.ViewGroup.drawChild(ViewGroup.java:3729)
           at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3515)
           at android.view.View.draw(View.java:17217)
           at com.android.internal.policy.DecorView.draw(DecorView.java:757)
           at android.view.View.updateDisplayListIfDirty(View.java:16196)
           at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:648)
           at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:654)
           at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:762)
           at android.view.ViewRootImpl.draw(ViewRootImpl.java:2844)
           at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2652)
           at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2259)
           at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1298)
           at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6437)
           at android.view.Choreographer$CallbackRecord.run(Choreographer.java:876)
           at android.view.Choreographer.doCallbacks(Choreographer.java:688)
           at android.view.Choreographer.doFrame(Choreographer.java:623)
           at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:862)
           at android.os.Handler.handleCallback(Handler.java:754)
           at android.os.Handler.dispatchMessage(Handler.java:95)
           at android.os.Looper.loop(Looper.java:163)
           at android.app.ActivityThread.main(ActivityThread.java:6393)
           at java.lang.reflect.Method.invoke(Method.java)
           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933)
           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
    

    This is my layout file

    <?xml version="1.0" encoding="utf-8"?>
    <layout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto">
    
        <data>
    
            <import type="android.view.View" />
    
            <variable
                name="viewmodel"
                type="com.example.ui.welcome.WelcomeViewModel" />
        </data>
    
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            app:layout_behavior="@string/appbar_scrolling_view_behavior">
    
            <ImageView
                android:layout_width="@dimen/_60sdp"
                android:layout_height="@dimen/_60sdp"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="@dimen/welcome_screen_logo_margin_top"
                app:srcCompat="@drawable/logo" />
    
            <com.hanks.htextview.scale.ScaleTextView
                android:id="@+id/welcome_header_text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="@dimen/_26sdp"
                android:text="@string/static_text_welcome_header"
                android:textAlignment="center"
                android:textColor="@color/black"
                android:textSize="@dimen/_20ssp" />
    
            <com.hanks.htextview.scale.ScaleTextView
                android:id="@+id/welcome_footer_text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:text="@string/static_text_welcome_footer"
                android:textAlignment="center"
                android:textColor="@color/black"
                android:textSize="@dimen/_20ssp" />
    
            <View
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1" />
    
            <com.hanks.htextview.scale.ScaleTextView
                android:id="@+id/welcome_begin_text"
                style="?android:attr/borderlessButtonStyle"
                android:layout_width="match_parent"
                android:layout_height="@dimen/_40sdp"
                android:layout_gravity="bottom"
                android:layout_margin="@dimen/_12sdp"
                android:background="@drawable/ripple_cornered"
                android:onClick="@{v -> viewmodel.onBeginClicked()}"
                android:text="@string/static_text_welcome_begin"
                android:textAllCaps="true"
                android:textColor="@color/black"
                android:textSize="@dimen/_14ssp" />
        </LinearLayout>
    </layout>
    
    
    opened by TikTak123 1
Owner
hanks
🙄🙄🙄🙄🙄🙄🙄🙄🙄
hanks
Mentions-TextView - Make Mentions and hashtags clickable in Textview

Mentions Textview Custome Textview with Mentions and hashtags being clickable. D

null 2 Jan 9, 2022
A TextView that automatically resizes text to fit perfectly within its bounds.

AutoFitTextView A TextView that automatically resizes text to fit perfectly within its bounds. Usage dependencies { compile 'me.grantland:autofitt

Grantland Chew 4.2k Jan 1, 2023
A Custom TextView with trim text

ReadMoreTextView A Custom TextView with trim text Download To add the ReadMoreTextView library to your Android Studio project, simply add the followin

Borja B. 1.7k Dec 29, 2022
Simple way to create linked text, such as @username or #hashtag, in Android TextView and EditText

Simple Linkable Text Simple way to create link text, such as @username or #hashtag, in Android TextView and EditText Installation Gradle Add dependenc

Aditya Pradana Sugiarto 76 Nov 29, 2022
Add text masking functionality to Android EditText. It will prevent user from inserting not allowed signs, and format input as well.

MaskFormatter MaskFormatter adds mask functionality to your EditText. It will prevent user from inserting not allowed signs, and format input as well.

Azimo Labs 161 Nov 25, 2022
A editable text with a constant text/placeholder for Android.

ParkedTextView A EditText with a constant text in the end. How to use <com.goka.parkedtextview.ParkedTextView xmlns:app="http://schemas.android.co

goka 270 Nov 11, 2022
RTL marquee text view android right to left moving text - persian - farsi - arabic - urdo

RTL marquee text view android right to left moving text - persian - farsi - arabic - urdo

mehran elyasi 4 Feb 14, 2022
A simple library for hide and show text with animation.

ViewMore TextView ViewMore TextView allows you to use a TextView by hiding the content of the text by a number of established lines and to display all

Michele Quintavalle 81 Dec 23, 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
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
AutoLinkTextView is TextView that supports Hashtags (#), Mentions (@) , URLs (http://), Phone and Email automatically detecting and ability to handle clicks.

AutoLinkTextView Deprecated Please use the new version of AutoLinkTextView AutoLinkTextView is TextView that supports Hashtags (#), Mentions (@) , URL

Arman 1.1k Nov 23, 2022
Implementation of a TextView and all its direct/indirect subclasses with native support for the Roboto fonts, includes the brand new Roboto Slab fonts.

Android-RobotoTextView Implementation of a TextView and all its direct/indirect subclasses with native support for the Roboto fonts, includes the bran

Evgeny Shishkin 782 Nov 12, 2022
A TextView that simulates the effect from the app Secret where the characters fade in/out at different speeds.

SecretTextView A TextView that simulates the effect from the app Secret where the characters fade in/out at different speeds. How To Use Use it just l

Matt Kula 611 Nov 7, 2022
This is based on an open source autosizing textview for Android.

SizeAdjustingTextView This is based on an open source autosizing textview for Android I found a few weeks ago. The initial approach didn't resize mult

Elliott Chenger 255 Dec 29, 2022
An extension of Android's TextView, EditText and Button that let's you use the font of your choice

AnyTextView (deprecated) Note: AnyTextView is no longer being maintained. I recommend replacing AnyTextView with the Calligraphy library instead. Frus

Hans Petter Eide 165 Nov 11, 2022
Form validation and feedback library for Android. Provides .setText for more than just TextView and EditText widgets. Provides easy means to validate with dependencies.

android-formidable-validation Form validation and feedback library for Android. Provides .setText for more than just TextView and EditText widgets. Pr

Linden 147 Nov 20, 2022
Customized and Expandable TextView

Customized and Expandable TextView Simple library to change the Textview as rectangle, circle and square shapes by adding one line of code in xml file

Raja Gopal 62 Sep 22, 2022