Add: Categories chips & bar

This commit is contained in:
machiav3lli 2022-02-18 02:53:01 +01:00
parent d31dd0c675
commit d4fa141962
4 changed files with 43 additions and 1 deletions

View File

@ -63,5 +63,16 @@ class ExploreFragment : MainNavFragmentX() {
}
}
}
viewModel.categories.observe(viewLifecycleOwner) {
binding.categories.removeAllViews()
binding.categories.addView(Chip(requireContext(), null, R.attr.chipStyle).apply {
setText(R.string.all_applications)
})
it.forEach {
binding.categories.addView(Chip(requireContext(), null, R.attr.chipStyle).apply {
text = it
})
}
}
}
}

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?colorPrimary" android:state_selected="true" />
<item android:color="?colorSurface" />
</selector>

View File

@ -15,7 +15,8 @@
~ You should have received a copy of the GNU Affero General Public License
~ along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
@ -31,6 +32,21 @@
android:nestedScrollingEnabled="true"
android:orientation="vertical">
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none">
<com.google.android.material.chip.ChipGroup
android:id="@+id/categories"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:nestedScrollingEnabled="true"
android:paddingHorizontal="@dimen/shape_margin_medium"
app:selectionRequired="true"
app:singleSelection="true" />
</HorizontalScrollView>
<androidx.compose.ui.platform.ComposeView
android:id="@+id/primaryComposeRecycler"
android:layout_width="match_parent"

View File

@ -31,6 +31,7 @@
<item name="android:statusBarColor">@color/md_theme_light_surface</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="android:windowLightStatusBar" tools:targetApi="m">true</item>
<item name="chipStyle">@style/Theme.Chip.Category</item>
<item name="tabStyle">@style/Theme.Tab</item>
<item name="switchStyle">@style/Theme.Switch</item>
@ -69,6 +70,7 @@
<item name="colorPrimaryInverse">@color/md_theme_dark_primaryInverse</item>
<item name="android:statusBarColor">@color/grey_dark</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="chipStyle">@style/Theme.Chip.Category</item>
<item name="tabStyle">@style/Theme.Tab</item>
<item name="switchStyle">@style/Theme.Switch</item>
@ -107,6 +109,7 @@
<item name="colorOnBackground">@color/md_theme_dark_onBackground</item>
<item name="android:statusBarColor">@color/md_theme_dark_surface</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="chipStyle">@style/Theme.Chip.Category</item>
<item name="tabStyle">@style/Theme.Tab</item>
<item name="switchStyle">@style/Theme.Switch</item>
@ -140,6 +143,13 @@
<item name="android:backgroundTint">?attr/colorSurface</item>
</style>
<style name="Theme.Chip.Category" parent="Widget.Material3.Chip.Suggestion">
<item name="android:backgroundTint">@color/selector_chip_background</item>
<item name="android:textAppearance">@style/TextAppearance.Material3.TitleMedium</item>
<item name="android:textColor">@color/selector_item_icon</item>
<item name="chipStrokeWidth">0dp</item>
</style>
<style name="Theme.BottomNavigation" parent="Widget.Material3.BottomNavigationView">
<item name="elevation">0dp</item>
<item name="itemActiveIndicatorStyle">@style/Bar.Bottom.ActiveIndicator</item>