Skip to content

Instantly share code, notes, and snippets.

View virendersran01's full-sized avatar
💻
Working from home

Virender Srxn virendersran01

💻
Working from home
  • India
View GitHub Profile
@virendersran01
virendersran01 / TextWriterTextView.kt
Created March 4, 2021 06:17 — forked from efimerdlerkravitz/TextWriterTextView.kt
TypeWriter animation effect in Android
package com.example.uicomponents
import android.content.Context
import android.os.Handler
import android.util.AttributeSet
import android.widget.TextView
class TypeWriteTextView(context: Context?, attrs: AttributeSet?) : TextView(context, attrs) {
private var textList: List<String> = emptyList()
class PageDotDecorator(
private val itemCount: Int,
private val context: Context?
) : RecyclerView.ItemDecoration() {}
// Inside ItemDecoration class
private val dotDeselected: Paint = Paint().apply {
style = Paint.Style.FILL
color = Color.GRAY
}
private val dotSelected = Paint().apply {
style = Paint.Style.FILL
color = Color.BLACK
//List of Coordinates each dots positioned
private val dots = mutableListOf<Pair<Float, Float>>()
companion object {
/**
* Draw Parameters
*/
const val DOT_RADIUS = 3f
const val DOT_PADDING = 6f
}
override fun onDraw(
canvas: Canvas,
parent: RecyclerView,
state: RecyclerView.State
) {
//This is to calculate the positions of the circles, but only once when the decorator first initiate.
//This is here because we need the RecyclerView's width to calculate the position of each circles/dots.
if (!indicatorInitialized) {
setupIndicators(parent)
class PageDotDecorator(
private val itemCount: Int,
private val context: Context?
) : RecyclerView.ItemDecoration() {
companion object {
/**
* Draw Parameters
*/
const val DOT_RADIUS = 3f
import android.content.Context
import android.net.ConnectivityManager
import android.net.Network
import android.net.NetworkCapabilities
import android.net.NetworkRequest
import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
@virendersran01
virendersran01 / Routable.kt
Created April 9, 2021 04:24 — forked from mayuce/Routable.kt
Routable Gist
package com.some.package.routing
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Parcelable
import com.some.package.ui.BaseActivity
/**
* Routable implementation provides usage of navigation between activities
package com.some.package.router
import android.content.Context
import android.net.Uri
import android.os.Parcelable
import android.widget.Toast
import com.some.package.routing.Routable
import com.some.package.ui.moviedetail.presentation.MovieDetailActivity
import kotlinx.android.parcel.Parcelize
package com.some.package.base.routing
import android.content.Context
import android.net.Uri
import com.some.package.routing.Routable
import com.some.package.router.MovieDetailRouter
class Router {
companion object {