Как изменить цвет плавающей кнопки действия в Android?
Приложения для Android используют плавающую кнопку действия, чтобы предложить пользователю выполнить какое-либо важное действие в приложении для Android. Плавающие кнопки действий в приложениях для Android используются для выполнения некоторых важных функций в приложениях для Android. Много раз в приложениях для Android мы хотим динамически менять цвет нашей плавающей кнопки действия. В этой статье мы рассмотрим, как изменить цвет кнопки плавающего действия в Android. Пример видео приведен ниже, чтобы получить представление о том, что мы собираемся делать в этой статье.
Note: This Android article covered in both Java and Kotlin languages.
Пошаговая реализация
Шаг 1. Создайте новый проект в Android Studio.
Чтобы создать новый проект в Android Studio, обратитесь к разделу «Как создать/запустить новый проект в Android Studio ».
Шаг 2: Работа с файлом activity_main.xml
Перейдите к app > res > layout > activity_main.xml и добавьте приведенный ниже код. В код добавлены комментарии для более подробного ознакомления.
XML
| <?xmlversion="1.0"encoding="utf-8"?><RelativeLayout    android:id="@+id/idRLContainer"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".MainActivity">     <!--on below line we are creating        a text for our app-->    <TextView        android:id="@+id/idTVHeading"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_above="@id/idFAB"        android:layout_centerInParent="true"        android:layout_margin="20dp"        android:gravity="center"        android:padding="10dp"        android:text="Changing color of Floating Action Button in Android"        android:textAlignment="center"        android:textColor="@color/black"        android:textSize="20sp"        android:textStyle="bold"/>     <!--on below line we are creating a simple floating action button-->    <com.google.android.material.floatingactionbutton.FloatingActionButton        android:id="@+id/idFAB"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_centerInParent="true"        android:layout_marginTop="20dp"        android:src="@drawable/ic_android"        app:backgroundTint="@color/purple_200"        app:tint="@color/white"/> </RelativeLayout> | 
Шаг 3: Работа с файлом MainActivity
Перейдите к приложению > java > имени пакета вашего приложения > файлу MainActivity и добавьте в него приведенный ниже код. В код добавлены комментарии для более подробного ознакомления.
Kotlin
| packagecom.gtappdevelopers.kotlingfgproject importandroid.content.res.ColorStateListimportandroid.graphics.Colorimportandroid.os.Bundleimportandroid.widget.Toastimportandroidx.appcompat.app.AppCompatActivityimportcom.google.android.material.floatingactionbutton.FloatingActionButtonimportkotlin.random.Random.Default.nextInt classMainActivity : AppCompatActivity() {     // on below line creating a variable.    lateinit var fabAction: FloatingActionButton         override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContentView(R.layout.activity_main)         // on below line we are initializing our variables.        fabAction = findViewById(R.id.idFAB)         // on below line we are adding click listener         // for our simple button        fabAction.setOnClickListener {            // on below line we are generating a random color            // for our floatingaction button.            val color = Color.argb(255, nextInt(256), nextInt(256), nextInt(256))             // on below line we are updating color for our floating            // action button using above color            fabAction.backgroundTintList = ColorStateList.valueOf(                color            )            // on below line we are displaying a toast message.            Toast.makeText(this, "Color of FAB changed..", Toast.LENGTH_SHORT).show()        }     }} | 
Java
| packagecom.gtappdevelopers.kotlingfgproject; importandroid.content.res.ColorStateList;importandroid.graphics.Color;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Toast;importandroidx.appcompat.app.AppCompatActivity;importcom.google.android.material.floatingactionbutton.FloatingActionButton;importjava.util.Random; publicclassMainActivity extendsAppCompatActivity {     // on below line we are creating variables.    privateFloatingActionButton fabAction;     @Override    protectedvoidonCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);         // on below line we are initializing our variables.        fabAction = findViewById(R.id.idFAB);         // on below line we are adding click listener for our simple button        fabAction.setOnClickListener(newView.OnClickListener() {            @Override            publicvoidonClick(View v) {                // on below line we are generating a random color                // for our floating action button.                Random rnd = newRandom();                intcolor = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));                                 // on below line we are updating color for our floating action button                // using above color                fabAction.setBackgroundTintList(ColorStateList.valueOf(color));                                 // on below line we are displaying a toast message.                Toast.makeText(MainActivity.this, "Color of FAB changed..", Toast.LENGTH_SHORT).show();            }        });    }} | 
Теперь запустите приложение, чтобы увидеть результат работы приложения.
Выход: