Popularity
2.4
Growing
Activity
0.0
Declining
96
4
14

Programming language: Kotlin
License: MIT License
Latest version: v1.0.9

Checkable TextView [KOTLIN] alternatives and similar packages

Based on the "TextView/EditText Widget" category.
Alternatively, view Checkable TextView [KOTLIN] alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Checkable TextView [KOTLIN] or a related project?

Add another 'TextView/EditText Widget' Package

README

CheckableTextView


Checkable TextView [KOTLIN]

:zap:A simple and flexible Checked TextView or Checkable TextView written in Kotlin:zap:


Android Arsenal GitHub license GitHub code size in bytes Version


What's New

Animation Demo
Normal (duration = 250 ms)
Custom Duration (duration = 2000 ms)

Sorry for flicker in slow motion video demo . You know android studio screen recorder sucks sometimes :sweat_smile:

Custom Interpolators

custom interpolator support added

Interpolator Demo
BounceInterpolator with fall down animation
AnticipateOvershootInterpolator with translate animation

Installation

  1. Add it in your root build.gradle at the end of repositories:

    allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }
    
  2. Add the dependency in app gradle

    dependencies {
            implementation 'com.github.JDevZone:CheckableTextView:{latest_version}'
    }

Basic usage

<com.devzone.checkabletextview.CheckableTextView
            app:ctv_TextStyle="@style/TextAppearance.General"
            app:ctv_IconTint="@color/colorAccent"
            app:ctv_IconChecked="true"
            app:ctv_Icon="@drawable/ic_cancel_custom_vector"
            app:ctv_Text="@string/app_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>

Change State Programatically

You can change checked state as follows :

checkedTV.setChecked(isChecked)

Default value shouldNotifyListeners is false

or

checkedTV.setChecked(isChecked,shouldNotifyListeners)

First Boolean parameter isChecked sets the current state Second Boolean parameter shouldNotifyListeners determines if onCheckChange method should be called or not.

Get Current State

checkedTV.isChecked()

No Fancy enums, Just true for checked state and false for unchecked is returned

Listen State Changes

You can listen to state changes by registering a listener like as follows :

checkedTV.setOnCheckChangeListener()

and get callback in implemented method :

override fun onCheckChange(view: View, isChecked: Boolean) {
        // checkedTV returned as view
        // isChecked current state of the view
    }

Set Custom Interpolator

checkedTV.setAnimInterpolator(BounceInterpolator())

Experimental

checkedTV.setClickEnabled(isClickable: Boolean)

Pass isClickable true for enable and false for disable clicks

currently restricted to RestrictTo.Scope.LIBRARY you can use it simply Suppressing Lint Warnings (if have any) as @SuppressLint("RestrictedApi")

Customisation

Here are the attributes you can specify through XML or related setters:

  • ctv_Text - Set text.
  • ctv_TextSize - Set text size.
  • ctv_TextColor - Set text color.
  • ctv_TextStyle - Set text style.
  • ctv_Icon - Set custom icon.
  • ctv_IconTint - Set icon tint.
  • ctv_IconChecked - Set TextView (CheckableTextView) state checked.
  • ctv_TextGravity - Set text gravity.
  • ctv_AnimType - Set check animation type currently three available (scale,translate and fall_down).
  • ctv_AnimDuration - Set duration for check animation.
  • ctv_AnimFirstTime - Animate CheckableTextView for very first time.

📄 License

Checkable TextView is released under the MIT license. See [LICENSE](./LICENSE) for details.


*Note that all licence references and agreements mentioned in the Checkable TextView [KOTLIN] README section above are relevant to that project's source code only.