Commit Graph

35 Commits

Author SHA1 Message Date
Kate Lovett
2c20325af4
Update CupertinoNavigationBar to support large layout (#157133)
Fixes https://github.com/flutter/flutter/issues/149625

This adds a new constructor CupertinoNavigationBar.large for the large style navigation bar. CupertinoSliverNavigationBar enables dynamically changing between the smaller and larger layouts for native iOS headers in response to scrolling, this change makes it possible to configure the static navigation bar in one style or the other.
2024-10-25 19:08:12 +00:00
Huy
fa5254331f
Add ability to disable CupertinoSegmentedControl (#152813)
### Summary

Add the ability to configure enabled or disabled segments in CupertinoSegmentedControl. The idea is to pass a `segmentStates` map, where the user can set the state according to segment key. User can also set background and text colors when the segment is disabled.

### Demo

https://github.com/user-attachments/assets/4a02da02-a0fb-4ded-a271-033a8dc79ac3

### Related issue
Fixes https://github.com/flutter/flutter/issues/52105
2024-10-24 12:05:35 +00:00
Victor Sanni
f9eebe0319
Add bottom to CupertinoNavigationBar to allow for a double-row nav bar (#155959)
Fixes [Support segmented controls in nav bars and double row nav bars](https://github.com/flutter/flutter/issues/10469)

<img width="270" height="600"  alt="Screenshot 2024-09-30 at 3 09 04 PM" src="https://github.com/user-attachments/assets/4003116f-69dd-4f8f-a185-6ca151b74d2d">
2024-10-16 19:36:55 +00:00
Victor Sanni
293ae2e5ab
Add bottom to CupertinoSliverNavigationBar (#155841)
Fixes [Support search box inside large title nav bar](https://github.com/flutter/flutter/issues/18103)
Part of [Support segmented controls in nav bars and double row nav bars](https://github.com/flutter/flutter/issues/10469)

## None mode (Current default)

https://github.com/user-attachments/assets/d798314e-940f-4311-9a9a-fe999c65f280

## Always mode

https://github.com/user-attachments/assets/950a85aa-8ca2-42ea-bf8b-3cb8f95e616e

## Automatic mode

https://github.com/user-attachments/assets/c7c7240b-d493-4036-a987-30f61d02bac3

## With CupertinoSlidingSegmentedControl

https://github.com/user-attachments/assets/59f4aec4-8d9c-4223-915b-97b73cb25dc8

<details>
<summary>Sample Code</summary>

```dart
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'package:flutter/cupertino.dart';

/// Flutter code sample for [CupertinoSliverNavigationBar].

void main() => runApp(const SliverNavBarApp());

class SliverNavBarApp extends StatelessWidget {
  const SliverNavBarApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const CupertinoApp(
      theme: CupertinoThemeData(brightness: Brightness.light),
      home: SliverNavBarExample(),
    );
  }
}

class SliverNavBarExample extends StatelessWidget {
  const SliverNavBarExample({super.key});

  @override
  Widget build(BuildContext context) {
    return const CupertinoPageScaffold(
      // A ScrollView that creates custom scroll effects using slivers.
      child: SafeArea(
        child: CustomScrollView(
          // A list of sliver widgets.
          slivers: <Widget>[
            CupertinoSliverNavigationBar(
              leading: SizedBox(
                width: 100,
                child: Row(
                  children: [
                    Icon(CupertinoIcons.back),
                    Text(
                      'Lists',
                      style: TextStyle(color: CupertinoColors.activeBlue),
                    ),
                  ],
                ),
              ),
              trailing: Icon(CupertinoIcons.plus),
              largeTitle: Text('iPhone'),
              // Change to desired mode.
              drawerMode: NavigationDrawerMode.none,
              drawer: Padding(
                padding: EdgeInsets.fromLTRB(8.0, 0.0, 8.0, 16.0),
                child: CupertinoSearchTextField(),
              ),
            ),
            SliverFillRemaining(
              child: Column(
                mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                children: <Widget>[
                  Text('Drag me up', textAlign: TextAlign.center),
                ],
              ),
            ),
          ],
        ),
      ),
    );
  }
}
```

</details>
2024-10-16 18:25:06 +00:00
Sikandar Sadaqat
d355a474f9
[Docs] CupertinoListTile API Example (#154548)
This PR adds an example for CupertinoListTile

Fixes: https://github.com/flutter/flutter/issues/154438
2024-10-02 15:24:05 +00:00
Victor Sanni
cb4ba2fddc
Add example for CupertinoCheckbox (#151779) 2024-07-16 16:54:02 +00:00
Huy
47689616a9
Add an example for CupertinoPopupSurface (#150357)
### Demo

https://github.com/flutter/flutter/assets/104349824/61cd4c96-e01e-4fad-b270-acd7bb55d995

### Related issue

Fixes https://github.com/flutter/flutter/issues/150353
2024-06-25 11:20:34 +00:00
Tirth
c10787bc6a
Write Tests for API Examples of cupertino_text_field.0, data_table.0, icon_button.2 & ink_well.0 (#139258)
Write Tests for API Examples of `cupertino_text_field.0`, `data_table.0`, `icon_button.2` & `ink_well.0`

Note: test for `cupertino_text_field.0` was already there but it was named `cupertino_text_field.0.dart`. I renamed it to `cupertino_text_field.0_test.dart`.

Part of #130459
2023-11-30 20:07:00 +00:00
Mitchell Goodwin
84078c856f
Create CupertinoRadio Widget (#123296)
Create CupertinoRadio Widget
2023-03-30 15:43:36 +00:00
Skandar Munir
681b72c304
fixes Show Week Day in CupertinoDatePicker with CupertinoDatePickerMo… (#120052)
fixes Show Week Day in CupertinoDatePicker with CupertinoDatePickerMo…
2023-02-28 01:52:51 +00:00
Taha Tesser
3d3f8e85a6
Update CupertinoPicker example (#118248)
* Update `CupertinoPicker` example

* format lines

* Revert making variable public

* revert variable change
2023-01-10 19:49:22 +00:00
ivirtex
ef40e3ea6f
Add CupertinoSliverNavigationBar large title magnification on over scroll (#110127)
* Add magnification of CupertinoSliverNavigationBar large title

* Fix padding in maximum scale computation

* Apply magnification by using RenderBox

* Do not pass key to the superclass constructor

* Use `clampDouble` instead of `clamp` extension method

* Remove trailing whitespaces to make linter happy

* Name test variables more precisely

* Move transform computation to `performLayout` and implement `hitTestChildren`

* Address comments

* Address comments

* Address comments

* Update comment about scale

* Fix hit-testing

* Fix hit-testing again

* Make linter happy

* Implement magnifying without using LayoutBuilder

* Remove trailing spaces

* Add hit-testing of the large title

* Remove whitespaces

* Fix scale computation and some tests

* Fix remaining tests

* Refactor and fix comments

* Update comments
2022-12-08 17:15:09 +00:00
Mitchell Goodwin
97195d1d51
Update CupertinoContextMenu to iOS 16 visuals (#110616)
* Update CupertinoContextMenu to iOS 16 visuals

* Revert some formatting

* Remove space

* Remove formatting changes, add more comments

* Added shadow effect

* Update context menu tests

* Remove white spaces

* Remove unused variable

* Refactor type checking logic

* Set default previewBuilder and update tests

* Check for border radius

* Remove trailing spaces

* Add builder to constructor

* Update previewBuilder

Rebase to master

* Update builder and tests

* Remove trailing spaces

* Update examples

* Refactor builder

* Update builder to use one animation

* Update scale

* Change deprecation message, remove white spaces

* Change deprecation message

* Change deprecation message

* Change deprecation message

* Update documentation

* Update documentation

* Update documentation and examples

* Update documentation and examples

* Remove white spaces

* Remove white spaces

* Remove const

* Address linting errors

* Seperate builder into own constructor

* Remove trailing characters

* Formatting changes

* Remove white spaces

* Change ignore comment

* Add TODO

* Remove whitespace
2022-11-30 16:28:04 -07:00
Taha Tesser
844a8ad7e8
Update CupertinoSwitch example (#112063) 2022-09-21 15:27:20 +00:00
Marcel Čampa
0c40945a67
Implement CupertinoListSection and CupertinoListTile (#78732) 2022-07-19 18:46:30 -05:00
Taha Tesser
92a59caa7f
CupertinoTabScaffold/CupertinoTabController: Add interactive examples (#103196)
* `CupertinoTabScaffold`/`CupertinoTabController`: Add interactive examples

* fix class name in the test

* Kick tests
2022-05-09 11:16:32 +02:00
Taha Tesser
803f9959d8
Update Cupertino examples and add missing tests (#103128) 2022-05-07 00:29:10 -07:00
Taha Tesser
d80f3e3921
Cupertino examples improvements and clean up (#103044) 2022-05-05 08:22:53 +02:00
Taha Tesser
27fee486ef
CupertinoSwitch: Add an interactive example (#103043)
Update
2022-05-05 07:59:55 +02:00
Taha Tesser
3ed0bbed5a
CupertinoActivityIndicator: Add an interactive example (#103040) 2022-05-05 07:59:29 +02:00
Taha Tesser
86e55df7f2
CupertinoFormRow: Add an interactive example (#103041)
* `CupertinoFormRow`: Add an interactive example

* fix typo

* Update docs
2022-05-05 07:58:53 +02:00
Taha Tesser
81fd748ac2
CupertinoSearchTextField: Add interactive examples (#103042)
* `CupertinoSearchTextField`: Add interactive examples

* Update docs
2022-05-05 07:58:15 +02:00
Phil Quitslund
80849adee1
[dev, bots, examples] rename local functions with _s (#102703) 2022-04-28 10:44:06 -07:00
Taha Tesser
d1daa5ddc2
CupertinoSliverNavigationBar: Add example (#99384)
Part of #72926
2022-03-02 18:31:50 -08:00
Taha Tesser
2097fe64f0
CupertinoPicker: Update example (#98525) 2022-02-15 20:20:22 -08:00
Taha Tesser
fd4b1e86e8
CupertinoSlidingSegmentedControl: Add an interactive example (#98156) 2022-02-15 10:05:11 -08:00
Taha Tesser
7943ae5502
CupertinoSegmentedControl: Add an interactive example (#98154) 2022-02-15 09:30:19 -08:00
Taha Tesser
dfd42444e9
Update CupertinoTextField example (#93738) 2022-02-15 09:10:20 -08:00
Taha Tesser
ee0bbf4789
Add CupertinoPicker interactive example (#93622) 2022-02-15 06:25:20 -08:00
Taha Tesser
513c6cd7a8
CupertinoAlertDialog: Update sample (#98357) 2022-02-14 16:25:20 -08:00
Taha Tesser
7d21dbf5e0
CupertinoActionSheet: Update sample (#98356) 2022-02-14 16:10:08 -08:00
Taha Tesser
19a380ffe7
Add CupertinoSlider example (#93633) 2022-02-14 12:10:13 -08:00
Taha Tesser
fc71ec55ee
Add CupertinoTimerPicker Interactive Example (#93621) 2022-01-28 06:35:17 -08:00
Taha Tesser
139a4d3992
Add CupertinoDatePicker Interactive Example (#93509) 2021-12-15 13:14:12 -08:00
Taha Tesser
7dcdfe6304
Add CupertinoButton interactive example (#93625) 2021-11-16 15:08:05 -08:00