Skip to content

Commit cba8cad

Browse files
committed
1
1 parent 4e56c9d commit cba8cad

File tree

9 files changed

+89
-65
lines changed

9 files changed

+89
-65
lines changed

docs/components/floatingactionbutton.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ Scaffold(
100100
)
101101
}
102102
},
103-
floatingActionButtonPosition = MiuixFabPosition.End
103+
floatingActionButtonPosition = FabPosition.End
104104
) { paddingValues ->
105105
// Content area needs to consider padding
106106
Box(

docs/components/scaffold.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,14 @@ Scaffold(
4848
| topBar | @Composable () -> Unit | Top bar, usually a TopAppBar | {} | No |
4949
| bottomBar | @Composable () -> Unit | Bottom bar, usually a NavigationBar | {} | No |
5050
| floatingActionButton | @Composable () -> Unit | Floating action button | {} | No |
51-
| floatingActionButtonPosition | MiuixFabPosition | Position to display the floating action button | MiuixFabPosition.End | No |
51+
| floatingActionButtonPosition | FabPosition | Position to display the floating action button | FabPosition.End | No |
5252
| snackbarHost | @Composable () -> Unit | Container for displaying Snackbar, Miuix does not provide this component | {} | No |
5353
| popupHost | @Composable () -> Unit | Container for displaying popup windows | \{ MiuixPopupHost() } | No |
5454
| containerColor | Color | Background color of the scaffold | MiuixTheme.colorScheme.background | No |
5555
| contentWindowInsets | WindowInsets | Window insets passed to the content | WindowInsets.statusBars | No |
5656
| content | @Composable (PaddingValues) -> Unit | Main content area of the scaffold | - | Yes |
5757

58-
### MiuixFabPosition Options
58+
### FabPosition Options
5959

6060
| Option Name | Description |
6161
| ----------- | ---------------------------------------------------------------------------------------------- |
@@ -132,7 +132,7 @@ Scaffold(
132132
Icon(MiuixIcons.Useful.New, contentDescription = "Add")
133133
}
134134
},
135-
floatingActionButtonPosition = MiuixFabPosition.End,
135+
floatingActionButtonPosition = FabPosition.End,
136136
content = { paddingValues ->
137137
// The content area needs to consider padding
138138
Box(

docs/zh_CN/components/floatingactionbutton.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ Scaffold(
100100
)
101101
}
102102
},
103-
floatingActionButtonPosition = MiuixFabPosition.End
103+
floatingActionButtonPosition = FabPosition.End
104104
) { paddingValues ->
105105
// 内容区域需要考虑 padding
106106
Box(

docs/zh_CN/components/scaffold.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,14 @@ Scaffold(
4848
| topBar | @Composable () -> Unit | 顶部栏,通常是 TopAppBar | {} ||
4949
| bottomBar | @Composable () -> Unit | 底部栏,通常是 NavigationBar | {} ||
5050
| floatingActionButton | @Composable () -> Unit | 悬浮按钮 | {} ||
51-
| floatingActionButtonPosition | MiuixFabPosition | 显示悬浮按钮的位置 | MiuixFabPosition.End ||
51+
| floatingActionButtonPosition | FabPosition | 显示悬浮按钮的位置 | FabPosition.End ||
5252
| snackbarHost | @Composable () -> Unit | 用于显示 Snackbar 的容器,Miuix 不提供此组件 | {} ||
5353
| popupHost | @Composable () -> Unit | 用于显示弹出窗口的容器 | \{ MiuixPopupHost() } ||
5454
| containerColor | Color | 脚手架的背景颜色 | MiuixTheme.colorScheme.background ||
5555
| contentWindowInsets | WindowInsets | 传递给内容的窗口插入边距 | WindowInsets.statusBars ||
5656
| content | @Composable (PaddingValues) -> Unit | 脚手架的主要内容区域 | - ||
5757

58-
### MiuixFabPosition 选项
58+
### FabPosition 选项
5959

6060
| 选项名 | 说明 |
6161
| ---------- | -------------------------------------------- |
@@ -132,7 +132,7 @@ Scaffold(
132132
Icon(MiuixIcons.Useful.New, contentDescription = "添加")
133133
}
134134
},
135-
floatingActionButtonPosition = MiuixFabPosition.End,
135+
floatingActionButtonPosition = FabPosition.End,
136136
content = { paddingValues ->
137137
// 内容区域需要考虑 padding
138138
Box(

example/src/androidMain/kotlin/Preview.android.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import androidx.compose.runtime.remember
1111
import androidx.compose.ui.tooling.preview.Preview
1212
import top.yukonga.miuix.kmp.basic.MiuixScrollBehavior
1313
import top.yukonga.miuix.kmp.basic.Scaffold
14-
import top.yukonga.miuix.kmp.basic.rememberTopAppBarState
1514
import ui.AppTheme
1615

1716
@Composable
@@ -29,7 +28,7 @@ fun UITestPreview() {
2928
fun MainPagePreview() {
3029
AppTheme {
3130
Scaffold {
32-
MainPage(MiuixScrollBehavior(rememberTopAppBarState()), PaddingValues())
31+
MainPage(MiuixScrollBehavior(), PaddingValues())
3332
}
3433
}
3534
}
@@ -39,7 +38,7 @@ fun MainPagePreview() {
3938
fun SecondPagePreview() {
4039
AppTheme {
4140
Scaffold {
42-
SecondPage(MiuixScrollBehavior(rememberTopAppBarState()), PaddingValues())
41+
SecondPage(MiuixScrollBehavior(), PaddingValues())
4342
}
4443
}
4544
}
@@ -50,7 +49,7 @@ fun ThirdPagePreview() {
5049
AppTheme {
5150
Scaffold {
5251
ThirdPage(
53-
MiuixScrollBehavior(rememberTopAppBarState()),
52+
MiuixScrollBehavior(),
5453
PaddingValues(),
5554
false,
5655
{},
@@ -60,10 +59,12 @@ fun ThirdPagePreview() {
6059
{},
6160
false,
6261
{},
63-
0,
62+
7,
6463
{},
6564
false,
6665
{},
66+
2,
67+
{},
6768
false,
6869
{},
6970
remember { mutableIntStateOf(0) }

example/src/commonMain/kotlin/ThirdPage.kt

Lines changed: 40 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import androidx.compose.animation.AnimatedVisibility
12
import androidx.compose.foundation.layout.PaddingValues
23
import androidx.compose.foundation.layout.height
34
import androidx.compose.foundation.layout.padding
@@ -39,6 +40,8 @@ fun ThirdPage(
3940
onFloatingToolbarPositionChange: (Int) -> Unit,
4041
showFloatingActionButton: Boolean,
4142
onShowFloatingActionButtonChange: (Boolean) -> Unit,
43+
fabPosition: Int,
44+
onFabPositionChange: (Int) -> Unit,
4245
enablePageUserScroll: Boolean,
4346
onEnablePageUserScrollChange: (Boolean) -> Unit,
4447
colorMode: MutableState<Int>
@@ -76,27 +79,48 @@ fun ThirdPage(
7679
checked = useFloatingToolbar,
7780
onCheckedChange = onUseFloatingToolbarChange
7881
)
79-
SuperDropdown(
80-
title = "Floating Toolbar Position",
81-
items = listOf(
82-
"LeftTop",
83-
"LeftCenter",
84-
"LeftBottom",
85-
"RightTop",
86-
"RightCenter",
87-
"RightBottom",
88-
"BottomLeft",
89-
"BottomCenter",
90-
"BottomRight"
91-
),
92-
selectedIndex = floatingToolbarPosition,
93-
onSelectedIndexChange = onFloatingToolbarPositionChange
94-
)
82+
AnimatedVisibility(
83+
visible = useFloatingToolbar
84+
) {
85+
SuperDropdown(
86+
title = "Floating Toolbar Position",
87+
items = listOf(
88+
"LeftTop",
89+
"LeftCenter",
90+
"LeftBottom",
91+
"RightTop",
92+
"RightCenter",
93+
"RightBottom",
94+
"BottomLeft",
95+
"BottomCenter",
96+
"BottomRight"
97+
),
98+
selectedIndex = floatingToolbarPosition,
99+
onSelectedIndexChange = onFloatingToolbarPositionChange
100+
)
101+
}
95102
SuperSwitch(
96103
title = "Show Floating Action Button",
97104
checked = showFloatingActionButton,
98105
onCheckedChange = onShowFloatingActionButtonChange
99106
)
107+
AnimatedVisibility(
108+
visible = showFloatingActionButton
109+
) {
110+
SuperDropdown(
111+
title = "Floating Action Button Position",
112+
items = listOf(
113+
"Start",
114+
"Center",
115+
"End",
116+
"EndOverlay",
117+
),
118+
selectedIndex = fabPosition,
119+
onSelectedIndexChange = { fabPosition ->
120+
onFabPositionChange(fabPosition)
121+
}
122+
)
123+
}
100124
SuperSwitch(
101125
title = "Enable Page User Scroll",
102126
checked = enablePageUserScroll,

example/src/commonMain/kotlin/UITest.kt

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ import top.yukonga.miuix.kmp.basic.IconButton
5151
import top.yukonga.miuix.kmp.basic.ListPopup
5252
import top.yukonga.miuix.kmp.basic.ListPopupColumn
5353
import top.yukonga.miuix.kmp.basic.ListPopupDefaults
54+
import top.yukonga.miuix.kmp.basic.FabPosition
5455
import top.yukonga.miuix.kmp.basic.MiuixScrollBehavior
5556
import top.yukonga.miuix.kmp.basic.NavigationBar
5657
import top.yukonga.miuix.kmp.basic.NavigationItem
@@ -79,6 +80,7 @@ data class UIState(
7980
val useFloatingToolbar: Boolean = false,
8081
val floatingToolbarPosition: Int = 7,
8182
val showFloatingActionButton: Boolean = true,
83+
val floatingActionButtonPosition: Int = 2,
8284
val enablePageUserScroll: Boolean = false,
8385
val isTopPopupExpanded: Boolean = false
8486
)
@@ -176,6 +178,12 @@ fun UITest(
176178
)
177179
}
178180
}
181+
},
182+
floatingActionButtonPosition = when (uiState.floatingActionButtonPosition) {
183+
0 -> FabPosition.Start
184+
1 -> FabPosition.Center
185+
2 -> FabPosition.End
186+
else -> FabPosition.EndOverlay
179187
}
180188
) { padding ->
181189
AppHorizontalPager(
@@ -216,9 +224,8 @@ fun UITest(
216224
blurRadius = 25.dp
217225
noiseFactor = 0f
218226
},
219-
color = Color.Transparent
227+
color = MiuixTheme.colorScheme.background.copy(0.67f)
220228
) {
221-
// IconButton with dynamic tint
222229
listOf(
223230
MiuixIcons.Useful.NavigatorSwitch to 0,
224231
MiuixIcons.Useful.Order to 1,
@@ -239,19 +246,6 @@ fun UITest(
239246
)
240247
}
241248
}
242-
243-
// FPS Monitor toggle button
244-
IconButton(
245-
onClick = {
246-
uiState = uiState.copy(showFPSMonitor = !uiState.showFPSMonitor)
247-
}
248-
) {
249-
Icon(
250-
MiuixIcons.Basic.Check,
251-
contentDescription = null,
252-
tint = if (uiState.showFPSMonitor) MiuixTheme.colorScheme.primaryVariant else MiuixTheme.colorScheme.onSurfaceContainerVariant
253-
)
254-
}
255249
}
256250
}
257251

@@ -427,6 +421,8 @@ fun AppHorizontalPager(
427421
onFloatingToolbarPositionChange = { onUiStateChange(uiState.copy(floatingToolbarPosition = it)) },
428422
showFloatingActionButton = uiState.showFloatingActionButton,
429423
onShowFloatingActionButtonChange = { onUiStateChange(uiState.copy(showFloatingActionButton = it)) },
424+
fabPosition = uiState.floatingActionButtonPosition,
425+
onFabPositionChange = { onUiStateChange(uiState.copy(floatingActionButtonPosition = it)) },
430426
enablePageUserScroll = uiState.enablePageUserScroll,
431427
onEnablePageUserScrollChange = { onUiStateChange(uiState.copy(enablePageUserScroll = it)) },
432428
colorMode = colorMode

example/src/desktopMain/kotlin/Preview.desktop.kt

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import androidx.compose.desktop.ui.tooling.preview.Preview
22
import androidx.compose.foundation.layout.PaddingValues
33
import androidx.compose.runtime.Composable
4-
import androidx.compose.runtime.mutableStateOf
4+
import androidx.compose.runtime.mutableIntStateOf
55
import androidx.compose.runtime.remember
66
import top.yukonga.miuix.kmp.basic.MiuixScrollBehavior
77
import top.yukonga.miuix.kmp.basic.Scaffold
@@ -28,7 +28,6 @@ fun MainPagePreview() {
2828
}
2929
}
3030

31-
3231
@Composable
3332
@Preview
3433
fun SecondPagePreview() {
@@ -39,7 +38,6 @@ fun SecondPagePreview() {
3938
}
4039
}
4140

42-
4341
@Composable
4442
@Preview
4543
fun ThirdPagePreview() {
@@ -56,9 +54,15 @@ fun ThirdPagePreview() {
5654
{},
5755
false,
5856
{},
57+
7,
58+
{},
59+
false,
60+
{},
61+
2,
62+
{},
5963
false,
6064
{},
61-
remember { mutableStateOf(0) }
65+
remember { mutableIntStateOf(0) }
6266
)
6367
}
6468
}

0 commit comments

Comments
 (0)