Updated Veggieseasons to use CupertinoSearchTextField (#630)

pull/702/head
Adarsh kumar singh 5 years ago committed by GitHub
parent c8d7b3c104
commit d16d35e0ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -8,7 +8,6 @@ import 'package:flutter/widgets.dart';
import 'package:provider/provider.dart';
import 'package:veggieseasons/data/app_state.dart';
import 'package:veggieseasons/data/veggie.dart';
import 'package:veggieseasons/widgets/search_bar.dart';
import 'package:veggieseasons/widgets/veggie_headline.dart';
class SearchScreen extends StatefulWidget {
@ -49,7 +48,7 @@ class _SearchScreenState extends State<SearchScreen> with RestorationMixin {
Widget _createSearchBox() {
return Padding(
padding: const EdgeInsets.all(8),
child: SearchBar(
child: CupertinoSearchTextField(
controller: controller.value,
focusNode: focusNode,
),

@ -120,20 +120,12 @@ abstract class Styles {
? CupertinoColors.lightBackgroundGray
: null;
static Color searchBackground(CupertinoThemeData themeData) =>
themeData.barBackgroundColor;
static const frostedBackground = Color(0xccf8f8f8);
static const closeButtonUnpressed = Color(0xff101010);
static const closeButtonPressed = Color(0xff808080);
static TextStyle searchText(CupertinoThemeData themeData) =>
themeData.textTheme.textStyle.copyWith(
fontSize: 14,
);
static TextStyle settingsItemSubtitleText(CupertinoThemeData themeData) =>
themeData.textTheme.textStyle.copyWith(
fontSize: 12,

@ -1,72 +0,0 @@
// Copyright 2018 The Flutter team. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'dart:ui';
import 'package:flutter/cupertino.dart';
import 'package:flutter/widgets.dart';
import 'package:veggieseasons/styles.dart';
class SearchBar extends StatelessWidget {
final TextEditingController controller;
final FocusNode focusNode;
SearchBar({
@required this.controller,
@required this.focusNode,
});
@override
Widget build(BuildContext context) {
final themeData = CupertinoTheme.of(context);
return ClipRRect(
borderRadius: BorderRadius.circular(10),
child: BackdropFilter(
child: DecoratedBox(
decoration: BoxDecoration(
color: Styles.searchBackground(themeData),
borderRadius: BorderRadius.circular(10),
),
child: Padding(
padding: const EdgeInsets.symmetric(
horizontal: 4,
vertical: 8,
),
child: Row(
children: [
ExcludeSemantics(
child: Icon(
CupertinoIcons.search,
color: Styles.searchIconColor,
),
),
Expanded(
child: CupertinoTextField(
controller: controller,
focusNode: focusNode,
decoration: null,
style: Styles.searchText(themeData),
cursorColor: Styles.searchCursorColor,
),
),
GestureDetector(
onTap: () {
controller.clear();
},
child: Icon(
CupertinoIcons.clear_thick_circled,
semanticLabel: 'Clear search terms',
color: Styles.searchIconColor,
),
),
],
),
),
),
filter: ImageFilter.blur(sigmaY: 5, sigmaX: 5),
),
);
}
}
Loading…
Cancel
Save