Flutter 所有Widget基本用法

Flutter 所有Widget基本用法

a

AbsorbPointer

AlertDialog

Align

AnimatedBuilder

AnimatedContainer

AnimatedCrossFade

AnimatedDefaultTextStyle

AnimatedListState

AnimatedModalBarrier

AnimatedOpacity

AnimatedPhysicalModel

AnimatedPositioned

AnimatedSize

AnimatedWidget

AppBar

AspectRatio

AssetBundle

b

BackdropFilter

Baseline

BottomNavigationBar

BottomSheet

ButtonBar

c

Card

Center

Checkbox

Chip

CircularProgressIndicator

ClipOval

ClipPath

ClipRect

Column

ConstrainedBox

Container

CupertinoActionSheet

CupertinoActivityIndicator

CupertinoAlertDialog

CupertinoButton

CupertinoDatePicker

CupertinoFullscreenDialogTransition

CupertinoNavigationBar

CupertinoPageTransition

CupertinoPicker

CupertinoPopupSurface

CupertinoScrollbar

CupertinoSegmentedControl

CupertinoSlider

CupertinoSwitch

CupertinoTabBar

CupertinoTabScaffold

CupertinoTextField

CupertinoTimerPicker

CustomMultiChildLayout

CustomPaint

CustomScrollView

CustomSingleChildLayout

d

DataTable

DateTimePacker

DecoratedBox

DecoratedBoxTransition

DefaultTextStyle

Dismissible

Divider

DragTarget

Draggable

Drawer

DropdownButton

e

ExcludeSemantics

Expanded

ExpansionPanel

f

FadeTransition

FittedBox

FlatButton

FloatingActionButton

Flow

FlutterLogo

Form

FormField

FractionalTranslation

FractionallySizedBox

FutureBuilder

g

GestureDetector

GridView

h

Hero

i

Icon

IconButton

IgnorePointer

Image

IndexedStack

IntrinsicHeight

IntrinsicWidth

l

LayoutBuilder

LimitedBox

LinearProgressIndicator

ListBody

ListTile

ListView

LongPressDraggable

m

MaterialApp

MediaQuery

MergeSemantics

n

Navigator

NestedScrollView

NotificationListener

o

Offstage

Opacity

OutlineButton

OverflowBox

p

PopupMenuButton

PositionedTransition

Padding

PageView

Placeholder

r

Radio

RaisedButton

RawImage

RawKeyboardListener

RefreshIndicator

RichText

RotatedBox

RotationTransition

Row

s

ScaleTransition

剩下的30来个后续更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flutter中获取Widget位置可以使用`GlobalKey`和`BuildContext`。 1. 使用`GlobalKey` 使用`GlobalKey`可以获取到一个Widget在屏幕上的位置。首先需要在需要获取位置的Widget上定义一个`GlobalKey`,然后通过`GlobalKey`获取到该Widget的位置信息。 ```dart class MyWidget extends StatelessWidget { final GlobalKey _globalKey = GlobalKey(); @override Widget build(BuildContext context) { return Container( key: _globalKey, child: Text('Hello, World!'), ); } void getPosition() { RenderBox box = _globalKey.currentContext.findRenderObject() as RenderBox; Offset position = box.localToGlobal(Offset.zero); print('x: ${position.dx}, y: ${position.dy}'); } } ``` 在上面的代码中,我们首先定义了一个`GlobalKey`,然后将其赋值给一个`Container`的`key`属性。在`getPosition`方法中,我们通过`_globalKey.currentContext.findRenderObject()`获取到该Widget的渲染对象,然后使用`localToGlobal`方法将该对象的位置转换为全局位置。 2. 使用`BuildContext` 如果您只需要获取Widget在屏幕上的位置,而不是具体的坐标位置,您可以使用`BuildContext`。您可以使用`MediaQuery`获取到屏幕的大小,然后使用`BuildContext`获取到Widget的位置信息。 ```dart class MyWidget extends StatelessWidget { @override Widget build(BuildContext context) { return Builder( builder: (context) { Size screenSize = MediaQuery.of(context).size; final RenderBox renderBox = context.findRenderObject() as RenderBox; final size = renderBox.size; final topLeftPosition = renderBox.localToGlobal(Offset.zero); final bottomRightPosition = renderBox.localToGlobal(Offset(size.width, size.height)); return Container( color: Colors.blue, ); }, ); } } ``` 在上面的代码中,我们在`Builder`中使用`BuildContext`获取到Widget的渲染对象,并使用`localToGlobal`方法获取到该对象的位置信息。最后,我们使用`MediaQuery`获取到屏幕的大小信息,并使用该信息计算出Widget的左上角和右下角的位置信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值