Author

admin

Browsing

horizontal recyclerview android example
Do you want to make Horizontal RecyclerView?

Before jumping into tutorial, I would recommend reading RecyclerView In Android : The Ultimate Guide.

In this post, I will teach you how to make Horizontal RecyclerView In Android with 4 ideas. In the end, we will create a Horizontal RecyclerView project too.

Okay… Let’s start.

RecyclerView uses LayoutManager class to arrange its items, so below we are going to use the LayoutManager class to make it work.

1. Horizontal RecyclerView Using LinearLayoutManager

This is the first and most commonly used option to make Horizontal RecyclerView. LinearLayoutManager provides a constructor that we can change the orientation of RecyclerView.

LinearLayoutManager(Context context, int orientation, boolean reverseLayout)

  • Here, we use “this” because RecyclerView uses in MainActivity. If you are using RecyclerView in fragment, you can use getActivity()
  • false : Do not reverse the layout.

2.Horizontal RecyclerView Using app:LayoutManager attribute

  • app:layoutManager=”androidx.recyclerview.widget.LinearLayoutManager”: sets LayoutManger for RecyclerView.
  • android:orientation=”horizontal” : Render RecyclerView in Horizontal.
  • For support library users, Use this app:layoutManager=”android.support.v7.widget.LinearLayoutManager”.

3. Horizontal RecyclerView Using GridLayoutManager

In this part, we use GridLayoutManager for creating horizontal RecyclerView. Use the below one.

GridLayoutManager(Context context, int spanCount, int orientation, boolean reverseLayout)

spanCount: Number of rows or columns based on orientation.


You can use XML way, just like below:

  • For support library users, app:layoutManager=”android.support.v7.widget.GridLayoutManager”

4. Horizontal Recyclerview Using StaggeredGridLayoutManager

In this section we can use StaggeredGridLayoutManager constructor, shown below:

StaggeredGridLayoutManager(int spanCount, int orientation)


In XML way

  • For support library users, Use app:layoutManager=”android.support.v7.widget.StaggeredGridLayoutManager”/li>

.

Horizontal RecyclerView In Android – Main Example

Let’s create a horizontal RecyclerView…

Just like below

Horizontal RecyclerView Android Example

Open Android Studio and start a new Android Studio project.

Application name : Horizontal RecyclerView Android Example.

Company domain: androidride.com

Check to include Kotlin support.


Select minimum SDK:API 15 – Android 4.0.3 (Ice Cream Sandwich) and click Next.

Next dialog, Select Empty Activity and click Next.

Activity Name: MainActivity
Check Generate layout file

Layout Name: activity_main

If you are using the latest Android Studio versions, there will be a CheckBox with the text “Use androidx.* artifacts”. Make sure that’s checked, which creates our project with androidx library.
Click Finish.

build.gradle

colors.xml

strings.xml

styles.xml

activity_main.xml

MainActivity.kt

item.xml

RecyclerViewAdapter.kt


Let’s run it and please share it your friends, family and co-workers.

Android Recyclerview Simple Tutorial

RecyclerView??? Is that a View? What does it do?

How to use this one?

are these thoughts running through your head? then Go on.
Or
you know something about RecyclerView then Refresh your knowledge by reading this post.

In this article, you will learn about RecyclerView, RecyclerView Adapter, and a simple example that helps you to create your one.
At last, I will teach you how to use Checkbox with RecyclerView. Yes, you can scroll fearlessly without thinking about losing the selected states in CheckBox.

So fasten your seatbelts, let’s take-off now.

What Is RecyclerView In Android?

From the name, we can understand that it’s an Android View. Actually, It is a ViewGroup with scroll ability which works based on adapter principles.

In simple words, It helps us to show a large no. of data collections just like ListView and GridView.

If RecyclerView wants to show large no.of items, it does not create the same amount of views. It just creates the viewholders which hold the inflated view needed to fill the screen and some more.

After that when the user scrolls, it makes use of cached views. Yes, It recycles views, again and again, that’s why it got the name “RecyclerView”.

As a successor, It is far away from ancestors(ListView, GridView) by performances and abilities. By more features, it becomes a little bit complex too.

Let’s look up the history, ListView has been part of Android since 1.0, but each os releases, new features got added. Not in the case of ListView.

ListView simply defeated by developer’s needs such as different types of layouts and animation support. That’s where RecyclerView was born.

Finally in 2014 Android Lolipop introduced RecyclerView as a standalone support library.

After the arrival of the AndroidX library (after API level 28.0.0), RecyclerView changed its package name android.support.v7.widget.RecyclerView to androidx.recyclerview.widget.RecyclerView.

If you are using Android Studio, just add it to gradle and use.

8 Differences Between ListView And RecyclerView In Android

differences between listview and recyclerview in android

1. ViewHolder pattern
ViewHolder pattern is a strategy used to store view references in memory.

It reduces the number of calls to complicated and tedious findViewById(), which makes scrolling smooth.
,
In the case of ListView, it was optional, you can build your favorite list without any use of ViewHolder.

But when it comes to RecyclerView side, google developers make it as default for RecyclerView.

2. Re-Using views
Both ListView and RecyclerView support Reusing views. On the ListView side, it gives the option to reuse.

It’s the developer, who needs to take the action.

Using the above example code, we can check the convertView is null or not. If it is null, that means there is no recycled view. Then we can inflate the layout.

If it is not null, means that not the first time, so we can use convertView and avoid layout inflation.

3. Layout Types

With ListView, you can easily make a list with simple and less code.

Code is a bit complex with RecyclerView, but it provides more options: horizontal, vertical list, grid, and staggered grid

You can also create your custom layout manager using RecyclerView.LayoutManager.

4.Animation Support

In the animation section, RecyclerView is far ahead from ListView. It’s not easy for beginners to make animations in ListView.

But RecyclerView shows Fade in, Fade out, translate and crossfade animations when you add, delete, move and update an item in RecyclerView.

This is default in RecyclerView because it internally uses the DefaultItemAnimator class. That’s why they gave that name.

If you don’t like these animations and want to make your animations make use of RecyclerView.ItemAnimator class.

5. Divider

ListView has divider by default.

The android:divider and android:dividerHeight attributes or setDivider(),setDividerHeight() helps you to make custom divider in ListView.

But RecyclerView doesn’t give these options.

But you can use the DividerItemDecoration class to make a simple divider or Make use of RecyclerView.OnItemDecoration class to decorate the view.

6. Click Events

One of the main disadvantages we face with RecyclerView is that it lacks OnItemClickListener. Because it’s not a subclass of AdapterView like ListView.

It provides RecyclerView.OnItemTouchListener to capture click events. It gives more control to the developer.

You can also use OnClickListener with views on the item.

7.Notify Methods
When notifying adapter, while data change occurs we can call notifyDatasetChanged() with ListView.

But ListView doesn’t know what had happened? It can be the addition, deletion or change of items in the dataset but don’t know what was happened.

For RecyclerView there are lots of notify* methods to inform, including notifyDatasetChanged().

Using the appropriate notify* method can invoke better animation in RecyclerView.

8. Header and Footer
It is easy to add Header and Footer in ListView using addHeaderView() and addFooterView().

But RecyclerView doesn’t have these methods instead it supports different types of view.

Finally, RecyclerView supports Nested Scrolling.

I think that’s enough for the comparison. So use them based on your needs. If you are a beginner in Android App Development, Learn ListView first then go with RecyclerView.

How To Use RecyclerView In Android?

RecyclerView is one of the most valuable widgets in Android development. Out of the box, RecyclerView is lazy. Because it has given responsibilities to different classes.

So before Using RecyclerView, you should know about these classes.

1)RecyclerView.Adapter

This is the most important class in RecyclerView. Same as other AdapterView, It connects the View(RecyclerView) and data.

RecyclerView has no default adapters, So you need to create a custom class by extending Recyclerview.Adapter.

It is responsible for

  • Creating ViewHolders
  • Binds data to ViewHolders.
  • Informs Recyclerview about dataset changes.

Most of the important methods in this class are:
i)OnCreateViewHolder() : This method is called when RecyclerView needed to create a viewholder.
ii)OnBindViewHolder(): Calls whenever needed to bind data with view in viewholder.
iii)getItemCount() : Used to return total number of items in the dataset (ArrayList, array etc).
iv)getItemViewType(): it returns the viewtype based on the position.

2) RecyclerView.LayoutManager

As the name says, it helps RecyclerView to manage layout by positioning each item.

Unlike ListView, RecyclerView shows child items in Horizontal, Vertical list, grid, and staggered grid because of LayoutManager.

Scrolling responsibility is also own by LayoutManager. When you scroll up in RecyclerView, LayoutManager moves your items up.
staggeredgridlayoutmanager gridlayoutmanager
It provides different classes for arranging items:

i)LinearLayoutManager: Creates vertical and horizontal lists.
ii)GridLayoutManager: Creates grid layouts.
iii)StaggeredGridLayoutManager: Creates StaggeredGrid layouts.
iv)WearableLinearLayoutManager: This class is for wearable devices.

3) RecyclerView.ItemDecoration

The name implies, it decorates RecyclerView’s item or view. It provides not only a divider, Using this abstract class you can draw four sides of the item. When using the divider as a view in XML, it decreases performance. That’s where the importance of this class comes through.

Version 25.1.0 Support library introduces the DividerItemDecoration class, to make a simple divider. Use addItemDecoration() method to add with RecyclerView. This class supports both horizontal and vertical orientations, so you can use it with any of your lists without any worries.

4) RecyclerView.ItemAnimator

Google developers gave more importance to animations in RecyclerView, So RecyclerView provides RecyclerView.ItemAnimator class for handling animations.

You can make custom animations using this class.

Just I said in ListView vs RecyclerView comparison, RecyclerView animates items when item adds, delete or any other move event happens because it internally uses DefaultItemAnimator.

But you can not see these animations when RecyclerView loading for the first time.

5) RecyclerView.ViewHolder
Android RecyclerView ViewHolder
You can consider ViewHolder as something which holds View.

Unlike ListView, we need to make custom ViewHolder class by extending RecyclerView.ViewHolder class.

In this subclass, we must store the item view’s references. This ViewHolder class contains additional information like its position in the layout.

Simple RecyclerView Example With CardView In Android Studio – OnClickListener Included


In this example, I will explain how to create RecyclerView in Android Studio in 10 simple steps with a detailed explanation. The final output will look like below.

Simple RecyclerView With  CardView Example In Android Studio
I assume that you have created a Project in Android Studio, then add these

STEP 1 – Add Dependencies In build.gradle

RecyclerView and CardView are support libraries, so you must add dependencies in your build.gradle file, If your app needs to support above API 28.0.0, you must use AndroidX libraries. otherwise, you can continue with the support library.

STEP 2 – Import RecyclerView In Android Studio

Just like ListView, just add it to your layout. here activity_main.xml

This code creates a RecyclerView widget with id “recyclerview”.

  • android:scrollbars=”vertical” – It creates vertical scrollbar to the RecyclerView. Otherwise user never get to know how long the RecyclerView is.
  • Use android.support.v7.widget.RecyclerView as root widget if you are using the support library, attributes are same as above.

STEP 3 – Create Row Layout For RecyclerView

In this step, we will create a layout and RecyclerView will show it as child items. Right-click on the layout folder in res directory. New->Layout Resource File-> put file name as row_layout.xml and put below code.

  • This code creates TextView inside CardView. You can use app: namespace to specify support library attributes.
  • if you are using support library, Use android.support.v7.widget.CardView.

STEP 4 – Create An Array And Pass It To RecyclerView Adapter

RecyclerView adapter needs data and layout. So here, we will create an array of months and pass it to the adapter class, which you are going to make in the next step.

  • Creates an array of months
  • lateinit: It is used to create properties that can not initialized at first. It says to the compiler that, it will initialize later.
  • Creates adapter reference and passed the array to adapter class that you haven’t create. Don’t worry, if it shows in red color

STEP 5 – Create RecyclerViewAdapter Class

We are going to create RecyclerViewAdapter class which extends RecyclerView.Adapter.

Right-click on Java->New->Kotlin File/Class-> Put the class name as RecyclerViewAdapter and make it the same as the below code.

STEP 6 – Create A Custom ViewHolder Class And Extend Adapter Class With RecyclerView.Adapter

In this step, You will create an inner ViewHolder class by extending RecyclerView.ViewHolder. After initializing views in ViewHolder, makes RecyclerViewAdapter extends RecyclerView.Adapter with ViewHolder as the generic parameter. Just like below

  • Creates Inner class ViewHolder which extends RecyclerView.ViewHolder
  • Inside viewholder class, initialize row_layout elements. here, TextView.
  • If there is red wavy underline below the RecyclerViewAdapter, then click ALT + ENTER. select implement members
  • select onCreateViewHolder(),onBindViewHolder() and getItemCount() and click OK

STEP 7 – Specify Total Items Using getItemCount() Method

In this step, we will return array size in getItemCount() method.

  • months_array.length returns 12, JAN to DEC.

    STEP 8 – Create ViewHolder Using onCreateViewHolder() method

    In this step, I will do two important things.
    1. Layout Inflation
    2. Pass it to ViewHolder.

    This is called whenever RecyclerView needs a ViewHolder.

    • parent: RecyclerView, viewType: 0, You can have different types of view. Here is only one viewtype, contain value zero.
    • Creates inflater object using context
    • row_layout inflated and become view object
    • Return ViewHolder with view for reference storage purpose

    STEP 9 – Bind ViewHolder With Data In onBindViewHolder()

    Here we will bind our TextView with array item. Access TextView using viewholder. This method calls when the item wants to show, so here we attach data with the view in ViewHolder.

    • You can access each element that initialized in ViewHolder class.
    • Here we access textview and set month from string array

    STEP 10 – Set LayoutManager and Adapter

    In this step, You will set LayoutManager and divider, at last, you will attach an adapter too.
    Let’s back to MainActivity. Put the below code in onCreate() and Run.

      • Unlike ListView, We need to implement LayoutManager for RecyclerView. Here we need a Vertical list. Use
      • Make sure you have attached LayoutManger and adapter is not empty, otherwise that may leads to error message
        “e recyclerview no adapter attached skipping layout”

    So use above code and Run

    RecyclerView is ready now.

    STEP 11 – Attach An OnClickListener with Root Element Inside ViewHolder Class

    In this step, you will learn how to get click events and react based on that. Here you will attach OnClickListener with itemView.

    • init block is called after the constructor
    • Using lambda, Create OnClickListener
    • When item clicks, a toast will appear with Month.
    • getAdapterPosition() method returns the clicked item position, Using Kotlin synthetic property we can use “adapterPositon”here.

    Run again.
    Finally, you have made a simple RecyclerView. Congrats!

    How above RecyclerView Adapter Works?

    how recyclerview works in android

    Okay. let’s clear it out… How RecyclerView adapter works based on the above example?

    • At first, getItemCount() method gets called and that will return 12.
    • After that, for creating ViewHolder, onCreateViewHolder() gets called. It inflates the XML layout and makes View and passes it to ViewHolder for storing references.
    • After that onBindViewHolder() gets called, here we use ViewHolder to access the TextView and attaches text. The 0th row is created.
    • The above process repeats and creates as many ViewHolders to fill the screen and even more. It depends on the screen size and layout size.
    • After that RecyclerView stops calling onCreateViewHolder but onBindViewHolder still repeats its job.

    RecyclerView With CheckBox Example In Android Studio

    recyclerview with checkbox example in android

    In this example, we will create an app that holds CheckBox and its state. While scrolling too.

    Let’s create a project.

    Open your Android Studio.

    Step 1

    Start a new Android Studio project.

    Application Name: RecyclerView With CheckBox In Android Example
    Company Domain: androidride.com

    Check Include Kotlin Support.


    Step 2

    Select form factors and minimum SDK

    Select API 15: IceCreamSandwich and Click Next.


    Step 3

    Add Empty activity to Project.


    After creating the project

    build.gradle(Module.app)

    Add the below code to the dependencies section.

    • For Kotlin users, Make sure that you have using kotlin-android-extensions

    activity_main.xml

    • It creates a RecyclerView with Vertical scrollbars and assigns id “recyclerview”.
    • If you are using the support library, replace androidx.recyclerview.widget.RecyclerView with android.support.v7.widget.RecyclerView.

    checkbox_row.xml

    • Creates a CheckBox inside a CardView.
    • Support library users – replace androidx.cardview.widget.CardView with android.support.v7.widget.CardView.

    Data.kt

    • Only one property : position – We can pass it through constructor

    MainActivity.kt

    RecyclerViewAdapter.kt

    • Using Kotlin synthetic properties, we can use adapterPosition for getAdapterPosition()
    • Using SparseBooleanArray, we stores position and boolean value

    Now run the project.

    recyclerview with checkbox in android example - output

    oh, that’s a long tutorial.

    Finally, We are here.

    Guys, Shares really encourage me to create more rich content. Please share this post with your colleagues, family, and friends.

genymotion free download virtual device

Not all of us can buy lots of real devices for testing.

That’s costly and time-wasting too. This is why emulators are born. It’s assured that emulators are far away from real devices in all aspects.

If you have experience with the Android default emulator, then you must know how frustrating that each moment we feel while testing our app.

So today I am going to talk about Genymotion. A free emulator – for personal use only. It has a paid version If you have any other plans.



So in this post, you will learn about

What is Genymotion?

Genymotion is a third party Android Emulator which helps developers to run and test apps. When compared to Android default emulators, It boots fast and quickly runs your app. It uses x86 architecture and make use of OpenGL hardware acceleration, that gives us a smooth operation.

genymotion free emulator download

Let’s learn, how to create an account on genymotion.com and download Genymotion.

How to create an account and download Genymotion?

Step 1

genymotion free emulator

Search “genymotion free” on Google or go to “https://www.genymotion.com/fun-zone/”

Step 2

 download genymotion free

Click on the button named “Download Genymotion Personal Edition”.

Step 3

genymotion create account

If you already have a Genymotion account, then you can sign in with your username and password. Otherwise, click on Create an account.

Step 4

how to install genymotion in windows

Fill up the form with valid details.

Step 5

6 genymotion tick create account

Tick the checkbox by agreeing on privacy policy, terms, and conditions. Now click on CREATE ACCOUNT button. Now Genymotion sends email to your registered email address.

Step 6

genymotion gmail user account activation

Go to your registered email account and click on the link like above.

Step 7

genymotion free emulator for personal use

Click on the link “Download Genymotion for personal use“.

Step 8

download genymotion free emulator

I recommend downloading genymotion with Virtual box. If the virtual box is already installed on your pc, then you can select the second option. If you are a Mac or Ubuntu user, scroll down to see the download links.
genymotion mac ubuntu windows 10

Then click on the download button based on the operating system.

Download Genymotion virtual devices

Step 9

genymotion installation

After downloading, Install Genymotion just like any other software in Windows. At last, launch Genymotion.
If you skip these step or you already installed Genymotion, then double click on the Genymotion icon and launch.

Step 10

download genymotion virtual device

When Genymotion launches, you can see a lot of virtual device templates. Select any one of them and click on the 3 vertical dot icon.

Step 11

genymotion free

Click “install” from the menu.

Step 12

genymotion android emulator download
You can configure the Genymotion virtual device here.

if you want the virtual keyboard tick on the checkbox Use virtual keyboard for text input, or you can use PC’s Keyboard. Click Install

Step 13

genymotion virtual device download starts

Download started.

Step 14

genymotion virtual device installed

After the download completion, click on the three vertical dot menu on the right side and click on start.

Step 15

genymotion virtual device started initialization

Genymotion virtual device started to load.

Step 16

genymotion free emulator virtual device

Genymotion has successfully installed on your PC.

Next section will discuss on Genymotion integration with Android Studio.

Download Genymotion plugin for Android Studio

Step 1

genymotion plugin android studio
Open Android Studio, go File->Settings

Step 2

genymotion plugin

1. Click on Plugins
2. Search Genymotion in search dialog box.
3. If genymotion not found, Click on Search repositories or Browse repositories.
3 and 4 are leading to same page.

Step 3

genymotion install plugin

Click the install button.

Step 4

restart android studio

Restart Android Studio for changes to take effect.

Step 5

restart dialog

Click on the restart button

Step 6

genymotion icon

After the restart, click on the genymotion icon.

Step 7

genymotion virtual device selection

Choose Virtual devices from the dialog box and click on Start

Step 8

android studio run dialog

Now click on the run button, genymotion virtual device will be shown on chooser dialog. Select and Click OK.

Step 9

genymotion android studio plugin
Done. Genymotion is successfully integrated with Android Studio. Now you can test all your application using the same steps.

How to install gapps or google play services on Genymotion

genymotion gapps install google play services

So many apps rely on google play services. Developers of Genymotion know that, So the latest version of Genymotion arrives with a widget named Open GAPPS. This widget simply installs play store in one click. Let me show you how to install play store on Genymotion.

Step 1

google play services for Genymotion

Genymotion provided with a GAPPS icon to install play store. Click on the icon.

Step 2

genymotion playstore gapps accept notice

Click Accept.

Step 3

download gapps or playstore in genymotion

Download starts.

Step 4

Genymotion gapps playstore restart now dialog

Click on Restart now, it will redirect to GApps website.

Step 5

how to install google play services on genymotion
That’s all, play store is successfully installed.

Step 6

install gapps google play services genymotion
Install your favorite apps and games now.

Why Android Studio not detecting Genymotion device

After the successful installation of Genymotion, I too have faced this problem. Do the below steps to solve

android studio not detecting genymotion device

Open genymotion software, on the top-left side, click on genymotion.

android studio not detecting genymotion device

Click on settings

android studio not detecting genymotion device

Click on ADB

android studio not detecting genymotion device

Select the radio button with the label “Use custom Android SDK Tools” , locate your Android SDK through BROWSE button, When the location reaches Android-SDK folder, select and open. If you have selected the proper SDK folder, then it turns out to say this folder is valid.

That’s all. Now Android Studio can launch Genymotion easily.

Conclusion
By reading this post, you already understood that Genymotion is far better than Android default emulator. It boots fast and runs your app in less time, it also provides lots of other features. Although, It lacks wearable support. For making a wear app, you must use Android default ones.
So all I want to say is just give it a try if you never have used Genymoion. Let us know your experience with Genymotion and if you enjoyed reading this article, consider sharing it on Facebook, Twitter, and Pinterest.

how to move from one activity to another in android
Do you want to know how to move from one Activity to Another in Android?

Okay…Let’s go.



How to start new Activity using Intent in Android

In Android, we can use Intent to start another activity. Intent can be used to launch other app activities too. But now we simply describe starting a new activity.


this@MainActivity(MainActivity.this) – Here means Context, Activity is a subclass of Context.

That’s why we use this@MainActivity here. You can also use this, but assure that it’s a context.

SecondActivity::class.java(SecondActivity.this) – Name of Activity which you want to start.

Let’s dig more…

Two main parts here.

  • Intent(Context packageContext, Class cls) – Using this Intent’s constructor, we can create a way to our second activity.
  • startActivity(Intent intent) – It’s one of the methods in Activity class and launches activity specified in the Intent. If there is no Activity found, ActivityNotFoundException() gets called.

Intent needs a Java reference of class. That’s why We use here class.java part in Kotlin.

Create an Android Studio project

In this example, We just create two activities, when you click on the button, It shows Second Activity. Here I have used OnClickListener for click events, You can also use android:onClick”attribute.

Okay.

Open Android Studio and start a new Android Studio project.

Application name : Start New Activity Ex.

Company domain: androidride.com

Check to include Kotlin support.


Select minimum SDK:API 15 – Android 4.0.3 (Ice Cream Sandwich) and click Next.

Next dialog, Select Empty Activity and click Next.

Activity Name: MainActivity
Check Generate layout file

Layout Name: activity_main

Click Finish.

build.gradle(Project: StartNewActivityEx – Kotlin)

build.gradle(Module:app)

colors.xml

strings.xml

styles.xml

activity_main.xml

MainActivity.kt


Create Second Activity

Right-click on App-> New -> Activity -> Empty Activity ->

Activity Name: SecondActivity

check Generate Layout File.

Layout Name: activity_second

Select your source language Kotlin/Java.

and click Finish.

activity_second.xml

SecondActivity.kt

Run now.

launch new activity in android

This is so simple. Isn’t it?

If you found this article helpful. please share it.

Reference:

startActivity()

Intent class – google docs

Android TextView StrikeThrough XML

You might have seen strikethrough text in websites or apps.

Strikethrough used to show the old price or real price with the selling price.

It makes us think we get more discount, so it increases the chances to buy the product.

So If you are making an e-commerce app it’s better to know how to strikethrough a text.



Here, I have discussed 4 Android TextView StrikeThrough XML and 2 Java/Kotlin examples.


Then Let’s code.

1. Using Strike – Android TextView StrikeThrough XML example

Android TextView Strikethrough

Like Html, <Strike> tag easily creates a horizontal line through our TextView content. Create a string element in strings.xml and place text which you want to get strikethrough between <strike> opening tag and closing tag.

strings.xml

2. Using Paint Flags – TextView StrikeThrough Example

Android make TextView StrikeThrough

Paint class provides STRIKE_THRU_TEXT_FLAG named flag. It creates strikethrough for TextView easily.

3.1 SpannableString – TextView StrikeThrough Example

android textview strikethrough

Applying StrikethroughSpan() with setSpan method of SpannableString, We can also create StrikeThrough.

3.2 Using SpannableString – TextView StrikeThrough Example

We can control strikethrough where to appear in a text. For that, provide start and endpoints of the text. Here I StrikeThrough the content “StrikeThrough” using 4 as the start point and 17 as the endpoint.

4. Using shape drawable – Android TextView StrikeThrough XML

Android textview strikethrough color

Using Shape drawable, create a horizontal line and put that line middle of your text.

strikethrough_shape.xml

put strikethrough_shape.xml as TextView background attribute value.

5. Using LayerList – Android TextView StrikeThrough XML

android strikethrough textview

We can create a horizontal line using layerlist drawable also. Just like the above example, put this also as TextView’s background value.

strikethrough_layerlist

put strikethrough_layerlist.xml as TextView’s background value.

6. Using RelativeLayout and View – Android TextView Strikethrough XML example

Android textview strikethrough color

RelativeLayout positions its element relative to each other. So let’s create a horizontal line using view and position it above-center of the TextView.

How To Remove TextView StrikeThrough

Use inv() method with Paint.STRIKE_THRU_TEXT_FLAG. Java users, use this ‘~’ symbol with Paint.STRIKE_THRU_TEXT_FLAG. Just like below

Create an Android Studio project

Let’s create a project with the above examples.

Open Android Studio and start a new Android Studio project.

Application name : TextView StrikeThrough Ex.

Company domain: androidride.example.com

Check to include Kotlin support.


Select minimum SDK:API 15 – Android 4.0.3 (Ice Cream Sandwich) and click Next.

Next dialog, Select Empty Activity and click Next.

Activity Name: MainActivity
Check Generate layout file

Layout Name: activity_main

Click Finish.

build.gradle(Project: TextViewStrikeThroughEx)

build.gradle(Module:App)

colors.xml

strings.xml

styles.xml

activity_main.xml

strikethrough_layerlist.xml

strikethrough_shape.xml

MainActivity.kt

Let’s run it.

Android TextView StrikeThrough XML

If you found this article helpful, please share it.

underline a textview in android

Do you want to underline a TextView in Android?

In this post, you will learn how to underline a TextVew and also learn to change underline color.

You can download Java & Kotlin Source code too.



Okay, let’s get started.

1 – Underline a TextView in Android – Using Html.fromHtml()

underline a textview in android

It’s the simplest way. Html.fromHtml() method helps us to render HTML code in TextView.

But Html.fromHtml(resource : String) was deprecated in API 24. So now you can use HtmlCompat.fromHtml() method. It’s available in both android.support.v4.text.HtmlCompat, and androidx.core.text.HtmlCompat.

But androidx.core.text.HtmlCompat is the latest one. For that, you must include the dependency in gradle file.

underline a textview in android studio

1.2 Above underline method in a direct way

underline below textview android

This is for beginners. You can directly implement the code just like below.