Android Snackbar – Change Text Color, Background Color, Action Button Color
Snackbar’s Text Color, Background Color, Action Button Color could be changed using view.setBackgroundColor(), snack.view.snackbar_text.setTextColor() and setActionTextColor() respectively.
1. To change Snackbar’s Text Color
snack.view.setBackgroundColor(Color.parseColor("#FFFFFF"))
2. To change Snackbar’s Background Color
val textView = snack.view.findViewById(android.support.design.R.id.snackbar_text) as TextView textView.setTextColor(Color.parseColor("#4444DD"))
3. To change Snackbar’s Action Button Color
snack.setActionTextColor(Color.parseColor("#BB4444"))
The Snackbar’s look and feel would change to as shown in the following screenshot.
You may change the colors as per your requirement.
Example – Snackbar Change Background and Text Color
In this example, we shall display a Snackbar when button in the activity is clicked. Snackbar’s background color, Snackbar’s text color, Snackbar’s Action button text color are changed from their default values.
Create an Android Application with Kotlin Support and find the code for activity_main.xml layout file and MainActivity.kt provided below.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:gravity="center" android:background="#DDDDDD" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <Button android:id="@+id/btn" android:background="#FFFFFF" android:textAllCaps="false" android:padding="10sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Show Snackbar" /> </LinearLayout>
MainActivity.kt
package com.tutorialkart.snackbarexample import android.graphics.Color import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.support.design.widget.Snackbar import android.view.View import android.widget.TextView import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) btn.setOnClickListener { val snack = Snackbar.make(it,"This is a simple Snackbar",Snackbar.LENGTH_LONG) snack.setAction("DISMISS", View.OnClickListener { // executed when DISMISS is clicked System.out.println("Snackbar Set Action - OnClick.") }) // change action button text color snack.setActionTextColor(Color.parseColor("#BB4444")) // snackbar background color snack.view.setBackgroundColor(Color.parseColor("#FFFFFF")) val textView = snack.view.findViewById(android.support.design.R.id.snackbar_text) as TextView // change Snackbar text color textView.setTextColor(Color.parseColor("#4444DD")) snack.show() } } }
Run this Android Application, and you get an Android screen display as shown in the following, with a button. Click on this button. Snackbar with modified colors will slide up from the bottom of the screen.
Conclusion
In this Kotlin Android Tutorial, we have learnt to change Snackbar’s text color, background color, action button text color.