LibraryTabRow: PrimaryTabRow -> ScrollableTabRow(due to new material3 version PrimaryTabRow's changes). (v1.0.1)
This commit is contained in:
parent
c9ddc69588
commit
3d6c81bb98
1 changed files with 7 additions and 7 deletions
|
|
@ -9,10 +9,9 @@ import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.width
|
import androidx.compose.foundation.layout.width
|
||||||
import androidx.compose.foundation.pager.PagerState
|
import androidx.compose.foundation.pager.PagerState
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
|
||||||
import androidx.compose.material3.HorizontalDivider
|
import androidx.compose.material3.HorizontalDivider
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.PrimaryScrollableTabRow
|
import androidx.compose.material3.ScrollableTabRow
|
||||||
import androidx.compose.material3.Tab
|
import androidx.compose.material3.Tab
|
||||||
import androidx.compose.material3.TabRowDefaults
|
import androidx.compose.material3.TabRowDefaults
|
||||||
import androidx.compose.material3.TabRowDefaults.tabIndicatorOffset
|
import androidx.compose.material3.TabRowDefaults.tabIndicatorOffset
|
||||||
|
|
@ -33,8 +32,11 @@ import ua.acclorite.book_story.presentation.screens.library.data.LibraryEvent
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tab row, either scrollable or static, depends on screen width.
|
* Tab row, either scrollable or static, depends on screen width.
|
||||||
|
*
|
||||||
|
* @param onEvent Event used to Scroll to Page.
|
||||||
|
* @param books The list of all books.
|
||||||
|
* @param pagerState [PagerState].
|
||||||
*/
|
*/
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
|
||||||
@Composable
|
@Composable
|
||||||
fun LibraryTabRow(
|
fun LibraryTabRow(
|
||||||
onEvent: (LibraryEvent) -> Unit,
|
onEvent: (LibraryEvent) -> Unit,
|
||||||
|
|
@ -70,7 +72,7 @@ fun LibraryTabRow(
|
||||||
.fillMaxWidth(),
|
.fillMaxWidth(),
|
||||||
color = MaterialTheme.colorScheme.surfaceContainerHighest
|
color = MaterialTheme.colorScheme.surfaceContainerHighest
|
||||||
)
|
)
|
||||||
PrimaryScrollableTabRow(
|
ScrollableTabRow(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.padding(bottom = 0.5.dp),
|
.padding(bottom = 0.5.dp),
|
||||||
|
|
@ -86,8 +88,7 @@ fun LibraryTabRow(
|
||||||
)
|
)
|
||||||
|
|
||||||
TabRowDefaults.PrimaryIndicator(
|
TabRowDefaults.PrimaryIndicator(
|
||||||
Modifier
|
Modifier.tabIndicatorOffset(tabPositions[pagerState.currentPage]),
|
||||||
.tabIndicatorOffset(tabPositions[pagerState.currentPage]),
|
|
||||||
width = width
|
width = width
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
@ -95,7 +96,6 @@ fun LibraryTabRow(
|
||||||
) {
|
) {
|
||||||
tabItems.forEachIndexed { index, tabItem ->
|
tabItems.forEachIndexed { index, tabItem ->
|
||||||
Tab(
|
Tab(
|
||||||
modifier = Modifier,
|
|
||||||
selected = pagerState.currentPage == index,
|
selected = pagerState.currentPage == index,
|
||||||
onClick = {
|
onClick = {
|
||||||
onEvent(LibraryEvent.OnScrollToPage(index, pagerState))
|
onEvent(LibraryEvent.OnScrollToPage(index, pagerState))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue