Skip to content

Commit 3c95bdf

Browse files
committed
Fix SearchBar formatting
1 parent 4f92392 commit 3c95bdf

File tree

1 file changed

+73
-86
lines changed
  • app/src/main/java/com/guru/composecookbook/ui/learnwidgets

1 file changed

+73
-86
lines changed

app/src/main/java/com/guru/composecookbook/ui/learnwidgets/SearchBars.kt

Lines changed: 73 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -15,97 +15,84 @@ import androidx.compose.ui.unit.dp
1515
@OptIn(ExperimentalMaterial3Api::class)
1616
@Composable
1717
fun SearchBars() {
18-
var searchText by remember { mutableStateOf("") }
19-
var searchActive by remember { mutableStateOf(false) }
20-
21-
var dockedText by remember { mutableStateOf("") }
22-
var dockedActive by remember { mutableStateOf(false) }
18+
var searchText by remember { mutableStateOf("") }
19+
var searchActive by remember { mutableStateOf(false) }
2320

24-
Column(
25-
modifier = Modifier
26-
.fillMaxWidth()
27-
.padding(16.dp),
28-
verticalArrangement = Arrangement.spacedBy(16.dp)
29-
) {
30-
// Simple SearchBar with modified layout
31-
Box(modifier = Modifier.fillMaxWidth()) {
32-
SearchBar(
33-
modifier = Modifier.fillMaxWidth(),
34-
query = searchText,
35-
onQueryChange = { searchText = it },
36-
onSearch = {
37-
searchText = it
38-
searchActive = false
39-
},
40-
active = searchActive,
41-
onActiveChange = { active ->
42-
searchActive = active
43-
if (!active) searchText = ""
44-
},
45-
placeholder = { Text("Search") },
46-
leadingIcon = { Icon(Icons.Default.Search, contentDescription = null) }
47-
) {
48-
LazyColumn(
49-
modifier = Modifier
50-
.fillMaxWidth()
51-
.heightIn(max = 300.dp)
52-
) {
53-
items(3) { idx ->
54-
ListItem(
55-
headlineContent = { Text("Recent search $idx") },
56-
leadingContent = { Icon(Icons.Default.History, contentDescription = null) },
57-
modifier = Modifier.clickable {
58-
searchText = "Recent search $idx"
59-
searchActive = false
60-
}
61-
)
62-
}
21+
var dockedText by remember { mutableStateOf("") }
22+
var dockedActive by remember { mutableStateOf(false) }
23+
24+
Column(
25+
modifier = Modifier.fillMaxWidth().padding(16.dp),
26+
verticalArrangement = Arrangement.spacedBy(16.dp)
27+
) {
28+
// Simple SearchBar with modified layout
29+
Box(modifier = Modifier.fillMaxWidth()) {
30+
SearchBar(
31+
modifier = Modifier.fillMaxWidth(),
32+
query = searchText,
33+
onQueryChange = { searchText = it },
34+
onSearch = {
35+
searchText = it
36+
searchActive = false
37+
},
38+
active = searchActive,
39+
onActiveChange = { active ->
40+
searchActive = active
41+
if (!active) searchText = ""
42+
},
43+
placeholder = { Text("Search") },
44+
leadingIcon = { Icon(Icons.Default.Search, contentDescription = null) }
45+
) {
46+
LazyColumn(modifier = Modifier.fillMaxWidth().heightIn(max = 300.dp)) {
47+
items(3) { idx ->
48+
ListItem(
49+
headlineContent = { Text("Recent search $idx") },
50+
leadingContent = { Icon(Icons.Default.History, contentDescription = null) },
51+
modifier =
52+
Modifier.clickable {
53+
searchText = "Recent search $idx"
54+
searchActive = false
6355
}
64-
}
56+
)
57+
}
6558
}
59+
}
60+
}
6661

67-
Surface(
68-
modifier = Modifier.fillMaxWidth(),
69-
color = MaterialTheme.colorScheme.surface
70-
) {
71-
// DockedSearchBar
72-
DockedSearchBar(
73-
modifier = Modifier
74-
.fillMaxWidth()
75-
.heightIn(min = 56.dp),
76-
query = dockedText,
77-
onQueryChange = { dockedText = it },
78-
onSearch = {
79-
dockedText = it
80-
dockedActive = false
81-
},
82-
active = dockedActive,
83-
onActiveChange = { active ->
84-
dockedActive = active
85-
if (!active) dockedText = ""
86-
},
87-
placeholder = { Text("Docked Search") },
88-
leadingIcon = { Icon(Icons.Default.Search, contentDescription = null) }
89-
) {
90-
Surface(
91-
modifier = Modifier
92-
.fillMaxWidth()
93-
.heightIn(max = 350.dp)
94-
) {
95-
LazyColumn {
96-
items(3) { idx ->
97-
ListItem(
98-
headlineContent = { Text("Suggestion $idx") },
99-
leadingContent = { Icon(Icons.Default.History, contentDescription = null) },
100-
modifier = Modifier.clickable {
101-
dockedText = "Suggestion $idx"
102-
dockedActive = false
103-
}
104-
)
105-
}
106-
}
107-
}
62+
Surface(modifier = Modifier.fillMaxWidth(), color = MaterialTheme.colorScheme.surface) {
63+
// DockedSearchBar
64+
DockedSearchBar(
65+
modifier = Modifier.fillMaxWidth().heightIn(min = 56.dp),
66+
query = dockedText,
67+
onQueryChange = { dockedText = it },
68+
onSearch = {
69+
dockedText = it
70+
dockedActive = false
71+
},
72+
active = dockedActive,
73+
onActiveChange = { active ->
74+
dockedActive = active
75+
if (!active) dockedText = ""
76+
},
77+
placeholder = { Text("Docked Search") },
78+
leadingIcon = { Icon(Icons.Default.Search, contentDescription = null) }
79+
) {
80+
Surface(modifier = Modifier.fillMaxWidth().heightIn(max = 350.dp)) {
81+
LazyColumn {
82+
items(3) { idx ->
83+
ListItem(
84+
headlineContent = { Text("Suggestion $idx") },
85+
leadingContent = { Icon(Icons.Default.History, contentDescription = null) },
86+
modifier =
87+
Modifier.clickable {
88+
dockedText = "Suggestion $idx"
89+
dockedActive = false
90+
}
91+
)
10892
}
93+
}
10994
}
95+
}
11096
}
97+
}
11198
}

0 commit comments

Comments
 (0)