Text Color of a Substring - Android Studio - Kotlin
We will change the color of some sub-strings of text of TextView using the ''SpannableString'', and "ForeGroundColorSpan" classes using Android Studio IDE and Java language
āRED
āGREEN
āBLUE
Check For Java
āRED
āGREEN
āBLUE
Check For Java
VIDEO
Step 1: Create a new Project or open new project
Step 2: Code
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="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=".MainActivity"> <TextView android:id="@+id/text_view" android:textSize="20sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> </android.support.constraint.ConstraintLayout>
MainActivity.kt
package com.blogspot.atifsoftwares.textcolor_kotlin import android.graphics.Color import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.text.SpannableString import android.text.Spanned import android.text.style.ForegroundColorSpan import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) //text to set in TextView val mText = "Let's color some substrings: RED color, GREEN color, and BLUE color" //creating spannable string from normal string //we will use it to apply foregroundcolorspan to substrings val mSpannableString = SpannableString(mText) //color styles to apply on substrings val mRed = ForegroundColorSpan(Color.RED) //red color val mGreen = ForegroundColorSpan(Color.GREEN) //green color val mBlue = ForegroundColorSpan(Color.BLUE) //blue color //applying color styles to substrings mSpannableString.setSpan(mRed, 29, 32, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) mSpannableString.setSpan(mGreen, 38, 46, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) mSpannableString.setSpan(mBlue, 56, 61, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) //setting text to the textview text_view.text = mSpannableString } }
Comments
Post a Comment