欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Flutter質(zhì)感設(shè)計(jì)之持久底部面板

 更新時(shí)間:2018年08月23日 10:00:05   作者:何小有  
這篇文章主要為大家詳細(xì)介紹了Flutter質(zhì)感設(shè)計(jì)之持久底部面板,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

持久性底部面板可以用于補(bǔ)充應(yīng)用主要內(nèi)容的信息,即使用戶與應(yīng)用程序的其他控件進(jìn)行互動(dòng),也仍然可以看到持久的底部面板??梢允褂肧caffold.showBottomSheet函數(shù)創(chuàng)建和顯示持久性底部面板。

import 'package:flutter/material.dart';

class MyApp extends StatefulWidget {
 @override
 _MyApp createState() => new _MyApp();
}
class _MyApp extends State<MyApp> {
 /**
 *GlobalKey:整個(gè)應(yīng)用程序中唯一的鍵
 ScaffoldState:Scaffold框架的狀態(tài)
 解釋?zhuān)篲scaffoldKey的值是Scaffold框架狀態(tài)的唯一鍵
 */
 final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>();

 // VoidCallback:沒(méi)有參數(shù)并且不返回?cái)?shù)據(jù)的回調(diào)
 VoidCallback _showBottomSheetCallback;

 @override
 void initState() {
 super.initState();
 _showBottomSheetCallback = _showBottomSheet;
 }

 void _showBottomSheet() {
 setState(() {
  // 禁用按鈕
  _showBottomSheetCallback = null;
 });
 /**
  *currentState:獲取具有此全局鍵的樹(shù)中的控件狀態(tài)
  showBottomSheet:顯示持久性的質(zhì)感設(shè)計(jì)底部面板
  解釋?zhuān)郝?lián)系上文,_scaffoldKey是Scaffold框架狀態(tài)的唯一鍵,因此代碼大意為,
   在Scaffold框架中顯示持久性的質(zhì)感設(shè)計(jì)底部面板
  */
 _scaffoldKey.currentState.showBottomSheet<Null>((BuildContext context){
  final ThemeData themeData = Theme.of(context);
  return new Container(
  decoration: new BoxDecoration(
   border: new Border(top: new BorderSide(color: themeData.disabledColor))
  ),
  child: new Padding(
   padding: const EdgeInsets.all(32.0),
   child: new Text(
   '這是一個(gè)持久性的底部面板,向下拖動(dòng)即可將其關(guān)閉',
   textAlign: TextAlign.center,
   style: new TextStyle(
    color: themeData.accentColor,
    fontSize: 24.0
   )
   )
  )
  );
 })
 /**
  *closed:當(dāng)此對(duì)象控制的元素不再可見(jiàn)時(shí)完成
  whenComplete:注冊(cè)將在此未來(lái)完成時(shí)調(diào)用的函數(shù)
  解釋?zhuān)郝?lián)系上文,closed控制的元素是新構(gòu)建的質(zhì)感設(shè)計(jì)底部面板,因此代碼大意為,
   注冊(cè)底部面板不再可見(jiàn)時(shí)調(diào)用的函數(shù)
  */
 .closed.whenComplete((){
  // mounted:bool值,這個(gè)State對(duì)象當(dāng)前是否在樹(shù)中
  if (mounted) {
  setState(() {
   // 重新啟用按鈕
   _showBottomSheetCallback = _showBottomSheet;
  });
  }
 });
 }

 void _showMessage() {
 // showDialog<T>:顯示應(yīng)用程序當(dāng)前內(nèi)容上方的對(duì)話框
 showDialog<Null>(
  context: context,
  // AlertDialog:質(zhì)感設(shè)計(jì)中的告警對(duì)話框
  child: new AlertDialog(
  // content:對(duì)話框的可選內(nèi)容,以淺色字體顯示在對(duì)話框的中心
  content: new Text('你點(diǎn)擊了浮動(dòng)按鈕'),
  // actions:顯示在對(duì)話框底部的可選操作
  actions: <Widget>[
   // FlatButton:質(zhì)感設(shè)計(jì)中的平面按鈕
   new FlatButton(
   onPressed: () { Navigator.pop(context); },
   child: new Text('確定')
   )
  ]
  ),
 );
 }
 @override
 Widget build(BuildContext context) {
 return new Scaffold(
  key: _scaffoldKey,
  appBar: new AppBar(
  title: new Text('底部面板')
  ),
  floatingActionButton: new FloatingActionButton(
  onPressed: _showMessage,
  backgroundColor: Colors.redAccent[200],
  child: new Icon(Icons.add)
  ),
  body: new Center(
  child: new RaisedButton(
   onPressed: _showBottomSheetCallback,
   child: new Text('顯示底部面板')
  )
  )
 );
 }
}

void main() {
 runApp(new MaterialApp(
 title: 'Flutter Demo',
 home: new MyApp()
 ));
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android背景圖下拉回彈效果實(shí)例

    Android背景圖下拉回彈效果實(shí)例

    大家好,本篇文章主要講的是Android背景圖下拉回彈效果實(shí)例,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • 智能指針與弱引用詳解

    智能指針與弱引用詳解

    智能指針有很多實(shí)現(xiàn)方式,android 中的sp 句柄類(lèi)實(shí)際上就是google 實(shí)現(xiàn)的一種強(qiáng)引用的智能指針。我沒(méi)有仔細(xì)看android sp 的實(shí)現(xiàn)方式,但其基本原理是固定的,現(xiàn)在我們從一個(gè)相對(duì)簡(jiǎn)單的例子來(lái)看智能指針的實(shí)現(xiàn)
    2013-09-09
  • 直接拿來(lái)用的Android刮獎(jiǎng)控件

    直接拿來(lái)用的Android刮獎(jiǎng)控件

    這篇文章主要為大家分享了可以直接拿來(lái)用的Android刮獎(jiǎng)控件,非常棒的刮獎(jiǎng)控件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Android自定義水波紋底部導(dǎo)航的實(shí)現(xiàn)

    Android自定義水波紋底部導(dǎo)航的實(shí)現(xiàn)

    TabLayout作為導(dǎo)航組件來(lái)說(shuō),使用場(chǎng)景非常的多,也意味著要滿足各種各樣的需求,這篇文章主要介紹了Android自定義水波紋底部導(dǎo)航的實(shí)現(xiàn)
    2022-08-08
  • android自定義滾軸選擇器

    android自定義滾軸選擇器

    這篇文章主要為大家詳細(xì)介紹了android自定義滾軸選擇器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Android Compose實(shí)現(xiàn)伸縮ToolBar的思路詳解

    Android Compose實(shí)現(xiàn)伸縮ToolBar的思路詳解

    這篇文章主要介紹了Android Compose之伸縮ToolBar的實(shí)現(xiàn),本文給大家分享主要實(shí)現(xiàn)思路及實(shí)現(xiàn)過(guò)程,通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-10-10
  • android監(jiān)聽(tīng)器實(shí)例代碼

    android監(jiān)聽(tīng)器實(shí)例代碼

    在本篇中小編給大家整理了一篇關(guān)于android監(jiān)聽(tīng)器的相關(guān)知識(shí)點(diǎn)文章,需要的朋友們可以學(xué)習(xí)下。
    2019-10-10
  • Android編程之Sdcard相關(guān)代碼集錦

    Android編程之Sdcard相關(guān)代碼集錦

    這篇文章主要介紹了Android編程之Sdcard相關(guān)代碼集錦,包括Android針對(duì)sd卡的存取、檢測(cè)、相關(guān)信息獲取等操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • unity5.6 導(dǎo)出gradle工程 Android Studio 導(dǎo)入問(wèn)題及處理方法

    unity5.6 導(dǎo)出gradle工程 Android Studio 導(dǎo)入問(wèn)題及處理方法

    這篇文章主要介紹了unity5.6 導(dǎo)出gradle工程 Android Studio 導(dǎo)入問(wèn)題及處理方法,需要的朋友可以參考下
    2017-12-12
  • Android?App設(shè)計(jì)規(guī)范深入講解

    Android?App設(shè)計(jì)規(guī)范深入講解

    隨著安卓智能手機(jī)不停的更新?lián)Q代,安卓手機(jī)系統(tǒng)越來(lái)越完美,屏幕尺寸也越來(lái)越大啦,下面這篇文章主要給大家介紹了關(guān)于Android?App設(shè)計(jì)規(guī)范的相關(guān)資料,需要的朋友可以參考下
    2022-10-10

最新評(píng)論