mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-20 11:08:31 +00:00
Make navigation rail adaptive for small medium screens.
This commit is contained in:
@@ -12,6 +12,7 @@ import androidx.compose.animation.core.tween
|
|||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.BoxScope
|
import androidx.compose.foundation.layout.BoxScope
|
||||||
|
import androidx.compose.foundation.layout.Spacer
|
||||||
import androidx.compose.foundation.layout.WindowInsets
|
import androidx.compose.foundation.layout.WindowInsets
|
||||||
import androidx.compose.foundation.layout.defaultMinSize
|
import androidx.compose.foundation.layout.defaultMinSize
|
||||||
import androidx.compose.foundation.layout.height
|
import androidx.compose.foundation.layout.height
|
||||||
@@ -42,6 +43,7 @@ import androidx.compose.ui.res.colorResource
|
|||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.drawText
|
import androidx.compose.ui.text.drawText
|
||||||
import androidx.compose.ui.text.rememberTextMeasurer
|
import androidx.compose.ui.text.rememberTextMeasurer
|
||||||
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.unit.IntSize
|
import androidx.compose.ui.unit.IntSize
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.core.graphics.BlendModeColorFilterCompat
|
import androidx.core.graphics.BlendModeColorFilterCompat
|
||||||
@@ -213,15 +215,18 @@ fun MainNavigationRail(
|
|||||||
onDestinationSelected: (MainNavigationListLocation) -> Unit
|
onDestinationSelected: (MainNavigationListLocation) -> Unit
|
||||||
) {
|
) {
|
||||||
NavigationRail(
|
NavigationRail(
|
||||||
containerColor = SignalTheme.colors.colorSurface1,
|
containerColor = SignalTheme.colors.colorSurface1
|
||||||
header = {
|
|
||||||
MainFloatingActionButtons(
|
|
||||||
destination = state.currentListLocation,
|
|
||||||
callback = mainFloatingActionButtonsCallback,
|
|
||||||
modifier = Modifier.padding(vertical = 40.dp)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
) {
|
) {
|
||||||
|
Spacer(modifier = Modifier.height(40.dp).weight(1f, fill = false))
|
||||||
|
|
||||||
|
MainFloatingActionButtons(
|
||||||
|
destination = state.currentListLocation,
|
||||||
|
callback = mainFloatingActionButtonsCallback,
|
||||||
|
modifier = Modifier.padding(vertical = 8.dp)
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(modifier = Modifier.height(40.dp).weight(1f, fill = false))
|
||||||
|
|
||||||
val entries = remember(state.isStoriesFeatureEnabled) {
|
val entries = remember(state.isStoriesFeatureEnabled) {
|
||||||
if (state.isStoriesFeatureEnabled) {
|
if (state.isStoriesFeatureEnabled) {
|
||||||
MainNavigationListLocation.entries.filterNot { it == MainNavigationListLocation.ARCHIVE }
|
MainNavigationListLocation.entries.filterNot { it == MainNavigationListLocation.ARCHIVE }
|
||||||
@@ -342,6 +347,7 @@ private fun formatCount(count: Int): String {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@DayNightPreviews
|
@DayNightPreviews
|
||||||
|
@Preview(device = "spec:parent=pixel_7,orientation=landscape")
|
||||||
@Composable
|
@Composable
|
||||||
private fun MainNavigationRailPreview() {
|
private fun MainNavigationRailPreview() {
|
||||||
Previews.Preview {
|
Previews.Preview {
|
||||||
|
|||||||
Reference in New Issue
Block a user