Как изменить цвет плавающей кнопки действия в 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
<? xml version = "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
package com.gtappdevelopers.kotlingfgproject import android.content.res.ColorStateList import android.graphics.Color import android.os.Bundle import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import com.google.android.material.floatingactionbutton.FloatingActionButton import kotlin.random.Random.Default.nextInt class MainActivity : 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
package com.gtappdevelopers.kotlingfgproject; import android.content.res.ColorStateList; import android.graphics.Color; import android.os.Bundle; import android.view.View; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; import com.google.android.material.floatingactionbutton.FloatingActionButton; import java.util.Random; public class MainActivity extends AppCompatActivity { // on below line we are creating variables. private FloatingActionButton fabAction; @Override protected void onCreate(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( new View.OnClickListener() { @Override public void onClick(View v) { // on below line we are generating a random color // for our floating action button. Random rnd = new Random(); int color = 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(); } }); } } |
Теперь запустите приложение, чтобы увидеть результат работы приложения.
Выход: