Skip to content

Commit 9ec5401

Browse files
committed
some fix.
1 parent d940006 commit 9ec5401

File tree

2 files changed

+49
-71
lines changed

2 files changed

+49
-71
lines changed

app/src/main/java/com/commandiron/expandablehorizontalpagercompose/MainActivity.kt

Lines changed: 43 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.commandiron.expandablehorizontalpagercompose
33
import android.os.Bundle
44
import androidx.activity.ComponentActivity
55
import androidx.activity.compose.setContent
6+
import androidx.compose.foundation.background
67
import androidx.compose.foundation.isSystemInDarkTheme
78
import androidx.compose.foundation.layout.*
89
import androidx.compose.material.icons.Icons
@@ -14,6 +15,7 @@ import androidx.compose.runtime.Composable
1415
import androidx.compose.runtime.DisposableEffect
1516
import androidx.compose.ui.Alignment
1617
import androidx.compose.ui.Modifier
18+
import androidx.compose.ui.graphics.Brush
1719
import androidx.compose.ui.graphics.Color
1820
import androidx.compose.ui.graphics.vector.ImageVector
1921
import androidx.compose.ui.layout.ContentScale
@@ -64,13 +66,13 @@ class MainActivity : ComponentActivity() {
6466
)
6567
},
6668
overMainContentExpanded = { page ->
67-
OverMainContentExpanded(
69+
OverMainContent(
6870
title = "Details",
6971
imageVector = Icons.Default.KeyboardArrowDown
7072
)
7173
},
7274
overMainContentCollapsed = { page ->
73-
OverMainContentExpanded(
75+
OverMainContent(
7476
title = "Close",
7577
imageVector = Icons.Default.KeyboardArrowUp,
7678
iconOnTop = true
@@ -89,35 +91,51 @@ class MainActivity : ComponentActivity() {
8991
}
9092

9193
@Composable
92-
fun OverMainContentExpanded(
94+
fun OverMainContent(
9395
title: String,
9496
imageVector: ImageVector,
9597
iconOnTop: Boolean = false
9698
) {
97-
if(iconOnTop) {
98-
Icon(
99-
modifier = Modifier
100-
.size(16.dp),
101-
imageVector = imageVector,
102-
contentDescription = null,
103-
tint = Color.White
104-
)
105-
}
106-
Text(
107-
text = title,
108-
fontSize = 14.sp,
109-
color = Color.White
110-
)
111-
if(!iconOnTop) {
112-
Icon(
113-
modifier = Modifier
114-
.size(16.dp),
115-
imageVector = imageVector,
116-
contentDescription = null,
117-
tint = Color.White
99+
Column(
100+
modifier = Modifier
101+
.fillMaxSize()
102+
.background(
103+
brush = Brush.verticalGradient(
104+
listOf(
105+
Color.Transparent,
106+
Color.Transparent,
107+
Color.Black.copy(alpha = 0.65f)
108+
)
109+
)
110+
),
111+
horizontalAlignment = Alignment.CenterHorizontally,
112+
verticalArrangement = Arrangement.Bottom
113+
) {
114+
if(iconOnTop) {
115+
Icon(
116+
modifier = Modifier
117+
.size(16.dp),
118+
imageVector = imageVector,
119+
contentDescription = null,
120+
tint = Color.White
121+
)
122+
}
123+
Text(
124+
text = title,
125+
fontSize = 14.sp,
126+
color = Color.White
118127
)
128+
if(!iconOnTop) {
129+
Icon(
130+
modifier = Modifier
131+
.size(16.dp),
132+
imageVector = imageVector,
133+
contentDescription = null,
134+
tint = Color.White
135+
)
136+
}
137+
Spacer(Modifier.height(8.dp))
119138
}
120-
Spacer(Modifier.height(8.dp))
121139
}
122140

123141
@Composable

expandable-horizontal-pager/src/main/java/com/commandiron/expandable_horizontal_pager/ExpandableHorizontalPager.kt

Lines changed: 6 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import androidx.compose.animation.core.animateDpAsState
55
import androidx.compose.animation.core.tween
66
import androidx.compose.animation.fadeIn
77
import androidx.compose.animation.fadeOut
8-
import androidx.compose.foundation.background
98
import androidx.compose.foundation.clickable
109
import androidx.compose.foundation.gestures.Orientation
1110
import androidx.compose.foundation.gestures.draggable
@@ -18,7 +17,6 @@ import androidx.compose.runtime.*
1817
import androidx.compose.runtime.saveable.rememberSaveable
1918
import androidx.compose.ui.Alignment
2019
import androidx.compose.ui.Modifier
21-
import androidx.compose.ui.graphics.Brush
2220
import androidx.compose.ui.graphics.Color
2321
import androidx.compose.ui.graphics.graphicsLayer
2422
import androidx.compose.ui.unit.Dp
@@ -56,7 +54,7 @@ fun ExpandableHorizontalPager(
5654
) {
5755
var state by rememberSaveable { mutableStateOf(ExpandablePagerState.INITIAL) }
5856

59-
fun animationFinish(expandablePagerState: ExpandablePagerState) {
57+
fun setStateOnAnimationFinish(expandablePagerState: ExpandablePagerState) {
6058
when (expandablePagerState) {
6159
ExpandablePagerState.INITIAL_TO_TARGET -> {
6260
state = ExpandablePagerState.TARGET
@@ -91,7 +89,7 @@ fun ExpandableHorizontalPager(
9189
durationMillis = durationMillis
9290
),
9391
finishedListener = {
94-
animationFinish(state)
92+
setStateOnAnimationFinish(state)
9593
}
9694
)
9795

@@ -111,7 +109,7 @@ fun ExpandableHorizontalPager(
111109
durationMillis = durationMillis
112110
),
113111
finishedListener = {
114-
animationFinish(state)
112+
setStateOnAnimationFinish(state)
115113
}
116114
)
117115

@@ -168,8 +166,6 @@ fun ExpandableHorizontalPager(
168166

169167
cornerSizeState = 16.dp
170168
}
171-
172-
173169
}
174170

175171
HorizontalPager(
@@ -193,11 +189,7 @@ fun ExpandableHorizontalPager(
193189
if (currentPage == page) {
194190
boxHeight
195191
} else {
196-
if(state == ExpandablePagerState.TARGET) {
197-
boxHeight
198-
} else {
199-
0.dp
200-
}
192+
if(state == ExpandablePagerState.TARGET) boxHeight else 0.dp
201193
}
202194
)
203195
.offset(
@@ -305,23 +297,7 @@ fun ExpandableHorizontalPager(
305297
enter = fadeIn(tween(durationMillis)),
306298
exit = fadeOut(tween(durationMillis))
307299
) {
308-
Column(
309-
modifier = Modifier
310-
.fillMaxSize()
311-
.background(
312-
brush = Brush.verticalGradient(
313-
listOf(
314-
Color.Transparent,
315-
Color.Transparent,
316-
Color.Black.copy(alpha = 0.65f)
317-
)
318-
)
319-
),
320-
horizontalAlignment = Alignment.CenterHorizontally,
321-
verticalArrangement = Arrangement.Bottom
322-
) {
323-
overMainContentExpanded(page)
324-
}
300+
overMainContentExpanded(page)
325301
}
326302
}
327303
Column() {
@@ -331,23 +307,7 @@ fun ExpandableHorizontalPager(
331307
enter = fadeIn(tween(durationMillis)),
332308
exit = fadeOut(tween(durationMillis))
333309
) {
334-
Column(
335-
modifier = Modifier
336-
.fillMaxSize()
337-
.background(
338-
brush = Brush.verticalGradient(
339-
listOf(
340-
Color.Transparent,
341-
Color.Transparent,
342-
Color.Black.copy(alpha = 0.65f)
343-
)
344-
)
345-
),
346-
horizontalAlignment = Alignment.CenterHorizontally,
347-
verticalArrangement = Arrangement.Bottom
348-
) {
349-
overMainContentCollapsed(page)
350-
}
310+
overMainContentCollapsed(page)
351311
}
352312
}
353313
}

0 commit comments

Comments
 (0)