@@ -6,11 +6,13 @@ import android.view.View
66import android.view.ViewGroup
77import android.widget.*
88import androidx.compose.foundation.layout.Column
9+ import androidx.compose.foundation.layout.Row
10+ import androidx.compose.foundation.layout.fillMaxWidth
911import androidx.compose.foundation.layout.padding
10- import androidx.compose.material3.HorizontalDivider
11- import androidx.compose.material3.Surface
12+ import androidx.compose.material3.*
1213import androidx.compose.runtime.collectAsState
1314import androidx.compose.runtime.getValue
15+ import androidx.compose.ui.Alignment
1416import androidx.compose.ui.Modifier
1517import androidx.compose.ui.graphics.Color
1618import androidx.compose.ui.platform.ComposeView
@@ -70,6 +72,19 @@ class SettingsSidebarController(
7072 showWritingMenu()
7173 }
7274
75+ val docMenuItem = mainMenuView.findViewById<View >(R .id.menu_item_document)
76+ val docDivider = mainMenuView.findViewById<View >(R .id.divider_document)
77+ if (isFixedPageMode()) {
78+ docMenuItem.visibility = View .VISIBLE
79+ docDivider?.visibility = View .VISIBLE
80+ docMenuItem.setOnClickListener {
81+ showDocumentMenu()
82+ }
83+ } else {
84+ docMenuItem.visibility = View .GONE
85+ docDivider?.visibility = View .GONE
86+ }
87+
7388 mainMenuView.findViewById<View >(R .id.menu_item_export).setOnClickListener {
7489 showExportMenu()
7590 }
@@ -83,6 +98,60 @@ class SettingsSidebarController(
8398 }
8499 }
85100
101+ private fun showDocumentMenu () {
102+ contentFrame.removeAllViews()
103+
104+ tvTitle.text = " Document"
105+ btnBack.visibility = View .VISIBLE
106+
107+ val composeView =
108+ ComposeView (context).apply {
109+ setViewCompositionStrategy(ViewCompositionStrategy .DisposeOnViewTreeLifecycleDestroyed )
110+ setContent {
111+ NotateTheme {
112+ Surface (color = Color .White ) {
113+ Column (
114+ modifier = Modifier .padding(16 .dp),
115+ ) {
116+ val isFixedPage by viewModel.isFixedPageMode.collectAsState()
117+ val isCentered by viewModel.isFixedPageCenterHorizontal.collectAsState()
118+
119+ androidx.compose.material3.Text (
120+ text = " Scrolling" ,
121+ style = MaterialTheme .typography.titleSmall,
122+ modifier = Modifier .padding(bottom = 8 .dp),
123+ )
124+
125+ Row (
126+ modifier = Modifier .fillMaxWidth(),
127+ verticalAlignment = Alignment .CenterVertically ,
128+ ) {
129+ Column (modifier = Modifier .weight(1f )) {
130+ androidx.compose.material3.Text (
131+ text = " Force horizontal centering" ,
132+ style = MaterialTheme .typography.bodyLarge,
133+ )
134+ androidx.compose.material3.Text (
135+ text = " Restricts horizontal scrolling in fixed-page mode" ,
136+ style = MaterialTheme .typography.bodySmall,
137+ color = Color .Gray ,
138+ )
139+ }
140+ androidx.compose.material3.Switch (
141+ checked = isCentered,
142+ onCheckedChange = { viewModel.setFixedPageCenterHorizontal(it) },
143+ enabled = isFixedPage,
144+ )
145+ }
146+ }
147+ }
148+ }
149+ }
150+ }
151+
152+ contentFrame.addView(composeView)
153+ }
154+
86155 private fun showWritingMenu () {
87156 contentFrame.removeAllViews()
88157
0 commit comments