Skip to content

Commit 03c529a

Browse files
author
iOrchid
committed
准备写侧边栏
1 parent ccb4200 commit 03c529a

File tree

10 files changed

+128
-5
lines changed

10 files changed

+128
-5
lines changed

compose/src/main/java/org/zhiwei/compose/model/Screen.kt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,12 @@ import org.zhiwei.compose.screen.basic.material3.Image_Screen
99
import org.zhiwei.compose.screen.basic.material3.LazyGrid_Screen
1010
import org.zhiwei.compose.screen.basic.material3.LazyList_Screen
1111
import org.zhiwei.compose.screen.basic.material3.ListItem_Screen
12+
import org.zhiwei.compose.screen.basic.material3.SideDrawer_Screen
13+
import org.zhiwei.compose.screen.basic.material3.SwipeDialog_Screen
1214
import org.zhiwei.compose.screen.basic.material3.TextField_Screen
1315
import org.zhiwei.compose.screen.basic.material3.Text_Screen
1416
import org.zhiwei.compose.screen.basic.material3.TopAppbarTabs_Screen
17+
import org.zhiwei.compose.screen.basic.material3.Widget_Screen
1518

1619
/**
1720
* 用于配置整个Compose模块内所有可跳转的页面UI,用于Navigation导航
@@ -66,6 +69,22 @@ internal object BasicScreenUIs {
6669
"BottomBar",
6770
"BottomNavigationView和BottomAppBar的compose控件的演示。"
6871
) { BottomBar_Screen(modifier) },
72+
CourseItemModel(
73+
"Side Navigation Vs ModalDrawer",
74+
"侧边栏控件。"
75+
) { SideDrawer_Screen(modifier) },
76+
CourseItemModel(
77+
"BottomSheet",
78+
"BottomSheet,底部sheet控件,还有BottomDrawer的演示。"
79+
) { SideDrawer_Screen(modifier) },
80+
CourseItemModel(
81+
"OtherWidget",
82+
"提示浮窗SnackBar,进度条Progress,勾选框CheckBox,开关Switch,Slider的使用演示。"
83+
) { Widget_Screen(modifier) },
84+
CourseItemModel(
85+
"SwipeDialog",
86+
"列表中的swipe滑动操作,还有结合checkBox记录状态,以及Dialog的弹窗的使用。"
87+
) { SwipeDialog_Screen(modifier) },
6988
)
7089
}
7190

compose/src/main/java/org/zhiwei/compose/screen/basic/material3/BottomBarScreen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,6 @@ private fun HoleBottomAppBar() {
278278

279279
@Preview(showBackground = true, backgroundColor = 0xFFFFFF)
280280
@Composable
281-
private fun LazyColumnPreview() {
281+
private fun BottomBarPreview() {
282282
BottomBar_Screen()
283283
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package org.zhiwei.compose.screen.basic.material3
2+
3+
import androidx.compose.runtime.Composable
4+
import androidx.compose.ui.Modifier
5+
import androidx.compose.ui.tooling.preview.Preview
6+
7+
@Composable
8+
internal fun BottomSheet_Screen(modifier: Modifier = Modifier) {
9+
10+
}
11+
12+
13+
@Preview(showBackground = true, backgroundColor = 0xFFFFFF)
14+
@Composable
15+
private fun BottomSheetPreview() {
16+
BottomSheet_Screen()
17+
}

compose/src/main/java/org/zhiwei/compose/screen/basic/material3/LazyGridScreen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,6 @@ private fun CustomColumnShow() {
153153

154154
@Preview(showBackground = true, backgroundColor = 0xFFFFFF)
155155
@Composable
156-
private fun LazyColumnPreview() {
156+
private fun LazyGridPreview() {
157157
LazyGrid_Screen()
158158
}

compose/src/main/java/org/zhiwei/compose/screen/basic/material3/LazyListScreen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,6 @@ private fun StickerHeaderList() {
310310

311311
@Preview(showBackground = true, backgroundColor = 0xFFFFFF)
312312
@Composable
313-
private fun LazyColumnPreview() {
313+
private fun LazyListPreview() {
314314
LazyList_Screen()
315315
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package org.zhiwei.compose.screen.basic.material3
2+
3+
import androidx.compose.foundation.shape.CircleShape
4+
import androidx.compose.foundation.shape.RoundedCornerShape
5+
import androidx.compose.material.FabPosition
6+
import androidx.compose.material.FloatingActionButton
7+
import androidx.compose.material.Icon
8+
import androidx.compose.material.icons.Icons
9+
import androidx.compose.material.icons.filled.Add
10+
import androidx.compose.material.rememberScaffoldState
11+
import androidx.compose.runtime.Composable
12+
import androidx.compose.ui.Modifier
13+
import androidx.compose.ui.graphics.Color
14+
import androidx.compose.ui.tooling.preview.Preview
15+
import androidx.compose.ui.unit.dp
16+
17+
@Composable
18+
internal fun SideDrawer_Screen(modifier: Modifier = Modifier) {
19+
val scaffoldState = rememberScaffoldState()
20+
//这里是用material库的scaffold,而非Material3的;scaffold可理解为App界面的脚手架,UI框架或者插槽面板。
21+
androidx.compose.material.Scaffold(
22+
modifier = modifier,
23+
scaffoldState = scaffoldState,
24+
topBar = {},
25+
bottomBar = {},
26+
floatingActionButton = {
27+
FloatingActionButton(onClick = { /*TODO*/ }, shape = CircleShape) {
28+
Icon(imageVector = Icons.Default.Add, contentDescription = null)
29+
}
30+
},
31+
floatingActionButtonPosition = FabPosition.Center,
32+
isFloatingActionButtonDocked = true,//是否显示在bottomBar本体上,而不是Top上,
33+
drawerContent = {},
34+
drawerGesturesEnabled = true,//是否启用手势可显示侧边栏
35+
drawerShape = RoundedCornerShape(5.dp),
36+
drawerElevation = 2.dp,
37+
drawerBackgroundColor = Color.White,
38+
drawerContentColor = Color.Cyan,
39+
backgroundColor = Color.White,
40+
contentColor = Color.Yellow,
41+
) {
42+
//随便写个使用paddingValues的函数,如果不使用,IDE会提示;因为按照设计理念,是要使用这个padding值的
43+
check(it.calculateBottomPadding() > 0.dp)
44+
45+
}
46+
}
47+
48+
49+
@Preview(showBackground = true, backgroundColor = 0xFFFFFF)
50+
@Composable
51+
private fun SideDrawerPreview() {
52+
SideDrawer_Screen()
53+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package org.zhiwei.compose.screen.basic.material3
2+
3+
import androidx.compose.runtime.Composable
4+
import androidx.compose.ui.Modifier
5+
import androidx.compose.ui.tooling.preview.Preview
6+
7+
@Composable
8+
internal fun SwipeDialog_Screen(modifier: Modifier = Modifier) {
9+
10+
}
11+
12+
13+
@Preview(showBackground = true, backgroundColor = 0xFFFFFF)
14+
@Composable
15+
private fun SwipeDialogPreview() {
16+
SwipeDialog_Screen()
17+
}

compose/src/main/java/org/zhiwei/compose/screen/basic/material3/TextScreen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -538,6 +538,6 @@ private fun TextColumn(modifier: Modifier = Modifier, content: @Composable () ->
538538

539539
@Preview(showBackground = true, backgroundColor = 0xFFFFFF)
540540
@Composable
541-
private fun Text_Screen_Preview() {
541+
private fun TextScreen_Preview() {
542542
Text_Screen()
543543
}

compose/src/main/java/org/zhiwei/compose/screen/basic/material3/TopAppbarTabsScreen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,6 @@ private fun ScrollTabsShow() {
376376

377377
@Preview(showBackground = true, backgroundColor = 0xFFFFFF)
378378
@Composable
379-
private fun LazyColumnPreview() {
379+
private fun TopAppBarPreview() {
380380
TopAppbarTabs_Screen()
381381
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package org.zhiwei.compose.screen.basic.material3
2+
3+
import androidx.compose.runtime.Composable
4+
import androidx.compose.ui.Modifier
5+
import androidx.compose.ui.tooling.preview.Preview
6+
7+
@Composable
8+
internal fun Widget_Screen(modifier: Modifier = Modifier) {
9+
10+
}
11+
12+
13+
@Preview(showBackground = true, backgroundColor = 0xFFFFFF)
14+
@Composable
15+
private fun WidgetPreview() {
16+
Widget_Screen()
17+
}

0 commit comments

Comments
 (0)