Address search fab color issue

This commit is contained in:
Rahul Patel
2024-08-13 03:08:36 +05:30
committed by Aayush Gupta
parent 8cfec71259
commit c8d701feb4
6 changed files with 29 additions and 11 deletions

View File

@@ -81,7 +81,7 @@ fun lightenColor(@ColorInt color: Int, factor: Float = 0.5f, @Nullable alpha: In
}
/**
* Computes a contrasting color from the given color.
* Computes a contrasting color (B & W only) from the given color.
* @param color The color to contrast.
* @return The contrasting color.
*/
@@ -92,4 +92,4 @@ fun contrastingColor(@ColorInt color: Int): Int {
val yiq = ((red * 299) + (green * 587) + (blue * 114)) / 1000
return if (yiq >= 128) Color.BLACK else Color.WHITE
}
}

View File

@@ -20,8 +20,10 @@
package com.aurora.extensions
import android.content.Context
import android.content.res.ColorStateList
import android.view.View
import android.view.inputmethod.InputMethodManager
import com.google.android.material.floatingactionbutton.FloatingActionButton
fun View.isVisible() = visibility == View.VISIBLE
@@ -83,3 +85,9 @@ fun View.getString(resourceId: Int): String {
return context.getString(resourceId)
}
fun FloatingActionButton.applyColors() {
val accentColor = context.accentColor()
backgroundTintList = ColorStateList.valueOf(accentColor)
imageTintList = ColorStateList.valueOf(contrastingColor(accentColor))
}

View File

@@ -26,6 +26,7 @@ import androidx.fragment.app.FragmentManager
import androidx.lifecycle.Lifecycle
import androidx.navigation.fragment.findNavController
import androidx.viewpager2.adapter.FragmentStateAdapter
import com.aurora.extensions.applyColors
import com.aurora.store.MobileNavigationDirections
import com.aurora.store.R
import com.aurora.store.data.providers.AuthProvider
@@ -101,8 +102,11 @@ class AppsContainerFragment : BaseFragment<FragmentAppsGamesBinding>() {
tab.text = tabTitles[position]
}.attach()
binding.searchFab.setOnClickListener {
findNavController().navigate(R.id.searchSuggestionFragment)
binding.searchFab.apply {
applyColors()
setOnClickListener {
findNavController().navigate(R.id.searchSuggestionFragment)
}
}
}

View File

@@ -26,6 +26,7 @@ import androidx.fragment.app.FragmentManager
import androidx.lifecycle.Lifecycle
import androidx.navigation.fragment.findNavController
import androidx.viewpager2.adapter.FragmentStateAdapter
import com.aurora.extensions.applyColors
import com.aurora.store.MobileNavigationDirections
import com.aurora.store.R
import com.aurora.store.data.providers.AuthProvider
@@ -100,8 +101,11 @@ class GamesContainerFragment : BaseFragment<FragmentAppsGamesBinding>() {
tab.text = tabTitles[position]
}.attach()
binding.searchFab.setOnClickListener {
findNavController().navigate(R.id.searchSuggestionFragment)
binding.searchFab.apply {
applyColors()
setOnClickListener {
findNavController().navigate(R.id.searchSuggestionFragment)
}
}
}

View File

@@ -25,6 +25,7 @@ import androidx.fragment.app.viewModels
import androidx.lifecycle.lifecycleScope
import androidx.navigation.fragment.findNavController
import com.aurora.Constants
import com.aurora.extensions.applyColors
import com.aurora.extensions.browse
import com.aurora.store.MobileNavigationDirections
import com.aurora.store.PermissionType
@@ -104,8 +105,11 @@ class UpdatesFragment : BaseFragment<FragmentUpdatesBinding>() {
viewModel.fetchUpdates()
}
binding.searchFab.setOnClickListener {
findNavController().navigate(R.id.searchSuggestionFragment)
binding.searchFab.apply {
applyColors()
setOnClickListener {
findNavController().navigate(R.id.searchSuggestionFragment)
}
}
}

View File

@@ -59,7 +59,5 @@
android:layout_alignParentBottom="true"
android:layout_margin="@dimen/margin_large"
android:contentDescription="@string/action_search"
app:backgroundTint="?colorAccent"
app:srcCompat="@drawable/ic_round_search"
app:tint="@color/colorWhite" />
app:srcCompat="@drawable/ic_round_search" />
</RelativeLayout>