MainScreen.kt 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. package com.example.pda.ui
  2. import androidx.compose.foundation.layout.*
  3. import androidx.compose.material3.*
  4. import androidx.compose.runtime.Composable
  5. import androidx.compose.ui.Alignment
  6. import androidx.compose.ui.Modifier
  7. import androidx.compose.ui.graphics.Color
  8. import androidx.compose.foundation.background
  9. import androidx.compose.runtime.LaunchedEffect
  10. import androidx.compose.ui.res.painterResource
  11. import androidx.compose.ui.unit.dp
  12. import androidx.compose.ui.unit.sp
  13. import com.example.pda.R
  14. import com.example.pda.network.HttpClient
  15. @OptIn(ExperimentalMaterial3Api::class)
  16. @Composable
  17. fun MainScreen(
  18. onInventoryScan: () -> Unit,
  19. onShelfScan: () -> Unit,
  20. onSetScreen: () -> Unit,
  21. onUpStationScreen:() ->Unit,
  22. ) {
  23. LaunchedEffect(Unit) {
  24. // 在登录成功后调用
  25. HttpClient.token = "PDA1"
  26. }
  27. Scaffold(
  28. topBar = {
  29. TopAppBar(
  30. title = {
  31. Row(verticalAlignment = Alignment.CenterVertically) {
  32. Icon(
  33. painter = painterResource(id = R.drawable.logo),
  34. contentDescription = "PDA Logo",
  35. modifier = Modifier.size(40.dp),
  36. tint = MaterialTheme.colorScheme.surfaceTint
  37. )
  38. Spacer(Modifier.width(8.dp))
  39. Text("信泰PDA扫描系统")
  40. }
  41. },
  42. colors = TopAppBarDefaults.topAppBarColors(
  43. containerColor = Color(0xFFBCD0C5), // 自定义颜色
  44. titleContentColor = MaterialTheme.colorScheme.onPrimary,
  45. actionIconContentColor = MaterialTheme.colorScheme.onPrimary
  46. ),
  47. actions = {
  48. IconButton(onClick = { onSetScreen() }) {
  49. Icon(
  50. painter = painterResource(id = R.drawable.ic_settings),
  51. contentDescription = "Settings",
  52. tint = MaterialTheme.colorScheme.onSurface
  53. )
  54. }
  55. },
  56. )
  57. }
  58. ) { innerPadding ->
  59. Box(
  60. modifier = Modifier
  61. .padding(innerPadding)
  62. .fillMaxSize()
  63. .background(Color(0xFFE6E6EB)),
  64. contentAlignment = Alignment.Center
  65. ) {
  66. Column(
  67. horizontalAlignment = Alignment.CenterHorizontally,
  68. verticalArrangement = Arrangement.spacedBy(60.dp)
  69. ) {
  70. ExtendedFloatingActionButton(
  71. onClick = onInventoryScan,
  72. modifier = Modifier.size(220.dp, 70.dp),
  73. containerColor = Color(0xFFFDECD0),
  74. icon = {
  75. Icon(
  76. painter = painterResource(id = R.drawable.ic_scan),
  77. contentDescription = "入库扫描"
  78. )
  79. },
  80. text = {
  81. Text(
  82. text = "入库扫描",
  83. fontSize = 18.sp,
  84. color = MaterialTheme.colorScheme.onSurface
  85. )
  86. }
  87. )
  88. ExtendedFloatingActionButton(
  89. onClick = onUpStationScreen,
  90. modifier = Modifier.size(220.dp, 70.dp),
  91. containerColor = Color(0xFFFDECD0),
  92. icon = {
  93. Icon(
  94. painter = painterResource(id = R.drawable.ic_up_down),
  95. contentDescription = "入库扫描"
  96. )
  97. },
  98. text = {
  99. Text(
  100. text = "落地提升",
  101. fontSize = 18.sp,
  102. color = MaterialTheme.colorScheme.onSurface
  103. )
  104. }
  105. )
  106. ExtendedFloatingActionButton(
  107. onClick = onShelfScan,
  108. modifier = Modifier.size(220.dp, 70.dp),
  109. containerColor = Color(0xFF91BFBF),
  110. icon = {
  111. Icon(
  112. painter = painterResource(id = R.drawable.container),
  113. contentDescription = "托盘扫描"
  114. )
  115. },
  116. text = {
  117. Text(
  118. text = "托盘扫描",
  119. fontSize = 20.sp,
  120. color = MaterialTheme.colorScheme.onSurface
  121. )
  122. }
  123. )
  124. }
  125. }
  126. }
  127. }