| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import 'package:flutter/cupertino.dart';
- import 'package:get/get.dart';
- import 'package:get/get_core/src/get_main.dart';
- import 'package:injectable/injectable.dart';
- import 'package:location/base/base_controller.dart';
- import 'package:sliding_sheet2/sliding_sheet2.dart';
- @injectable
- class CommonPointSelectAddressController extends BaseController {
- final TextEditingController searchEditController = TextEditingController();
- final FocusNode searchFocusNode = FocusNode();
- final SheetController sheetController = SheetController();
- final RxDouble _commonPointRange = RxDouble(200);
- double get commonPointRange => _commonPointRange.value;
- final RxDouble _sheetProgress = 0.0.obs;
- double get sheetProgress => _sheetProgress.value;
- void backClick() {
- if (sheetController.state?.isExpanded == true) {
- sheetController.snapToExtent(0,
- duration: const Duration(milliseconds: 250));
- return;
- }
- Get.back();
- }
- void setCommonPointRange(double value) {
- _commonPointRange.value = value;
- }
- setSheetProgress(double progress) {
- _sheetProgress.value = progress;
- if (progress == 1) {
- _requestFocus();
- }
- }
- void onOpenSearchAddressModel() async {
- if (sheetProgress == 0) {
- _setExpand();
- }
- }
- void _setExpand() async {
- await sheetController.snapToExtent(1,
- duration: const Duration(milliseconds: 250));
- _requestFocus();
- }
- void _requestFocus() async {
- if (searchFocusNode.hasFocus) {
- return;
- }
- //获取焦点
- await Future.delayed(Duration(milliseconds: 150));
- searchFocusNode.requestFocus();
- }
- }
|