Flutter中給我們預(yù)先定義好了一些按鈕控件給我們用,常用的按鈕如下

創(chuàng)新互聯(lián)于2013年創(chuàng)立,先為寶雞等服務(wù)建站,寶雞等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為寶雞企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
我們先來看看MaterialButton中的屬性,可以看到能設(shè)置的屬性還是很多的。
下面我們來看看常用屬性
而在Android中如果我們要修改按鈕樣式的話,需要通過selector和Shape等方式進行修改,相比較Flutter來說是要麻煩不少的
RaisedButton的構(gòu)造方法如下,由于繼承自MaterialButton,所以MaterialButton中的大多數(shù)屬性這邊都能用,且效果一致,這里就不在贅述了
下面我們來看一下屬性
接收一個方法,點擊按鈕時回調(diào)該方法。如果傳null,則表示按鈕禁用
如下圖所示
按鈕文本控件,一般都是傳一個Text Widget
按鈕顏色
按鈕的文本顏色
點擊按鈕時水波紋顏色
高亮顏色,點擊(長按)按鈕后的顏色
陰影范圍,一般不會設(shè)置太大
內(nèi)邊距,使用
或者
shape用來設(shè)置按鈕的形狀,其接收值是ShapeBorder類型,ShapeBorder是一個抽象類,我們來看看有哪些實現(xiàn)類
可以看到,實現(xiàn)類還是很多的,我們主要來看看常用的即可。
borderRadius 接收一個BorderRadius類型的值,常用方法如下
我們可以把borderRadius分為上下左右四個方向,下面的方法都是對這四個方向進行設(shè)置,
帶斜角的長方形邊框
圓形邊框
圓角矩形
兩端是半圓的邊框
FlatButton跟RaisedButton用法基本一致,下面我們就直接用一下
注意,OutlineButton是一個有默認邊線且背景透明的按鈕,也就是說我們設(shè)置其邊線和顏色是無效的,其他屬性跟MaterialButton中屬性基本一致
下面我們直接來使用
效果如下:
IconButton是直接繼承自StatelessWidget的,默認沒有背景
我們來看一下他的構(gòu)造方法
可以看到,icon是必填參數(shù)
icon接收一個Widget,但是一般我們都是傳入一個Icon Widget
其他屬性跟MaterialButton中的屬性用法基本一致
我們來用一下
效果如下:
我們也可以傳一個Text或其他Widget,這個大家自行嘗試吧
如果我們需要設(shè)置按鈕的最小寬度以及高度,button屬性中并沒有提供對應(yīng)的設(shè)置方法
使用如下:
Flutter中Button內(nèi)容大概就是這些
此控件比較簡單,按鈕的功能可劃分為UI樣式與事件回調(diào)
這里將幾種不同的按鈕一起運行,做下對比動圖如下:
這里對五種按鈕進行column居中排列如下
Text用于顯示簡單樣式文本,它包含一些控制文本顯示樣式的一些屬性。
TextStyle用于指定文本顯示的樣式如顏色、字體、粗細、背景等。
TextStyle更多屬性設(shè)置如下:
如果我們需要對一個Text內(nèi)容的不同部分按照不同的樣式顯示,即富文本,這時就可以使用TextSpan,它代表文本的一個“片段”。
如上述,我們當(dāng)然也可以在上述鏈接上添加手勢事件,后續(xù)會提到。
在widget樹中,文本的樣式默認是可以被繼承的,因此,如果在widget樹的某一個節(jié)點處設(shè)置一個默認的文本樣式,那么該節(jié)點的子樹中所有文本都會默認使用這個樣式,而DefaultTextStyle正是用于設(shè)置默認文本樣式的。
舉例如下:
#彈窗
oktoast : ^3.1.5
#路由
get : ^4.5.1
#百度地圖定位
flutter_bmflocation : ^2.0.0-nullsafety.1
#百度地圖-基礎(chǔ)地圖
flutter_baidu_mapapi_map : ^3.0.0+2
#百度地圖-檢索
flutter_baidu_mapapi_search : ^3.0.0
#百度地圖-計算工具
flutter_baidu_mapapi_utils : ^3.0.0
#屏幕自動適應(yīng)
flutter_screenutil : ^5.2.0
#Banner圖切換
flutter_swiper_plus : ^2.0.4
#網(wǎng)絡(luò)請求
dio : ^4.0.4
dio_cache_interceptor : ^3.2.2
pretty_dio_logger : ^1.2.0-beta-1
#城市選擇器
azlistview : ^2.0.0
#本地存儲
get_storage : ^2.0.3
#權(quán)限
permission_handler : ^8.3.0
#保存圖片
image_gallery_saver : ^1.7.1
# image_save: ^5.0.0
#常用工具類
common_utils :
path : plugin/common_utils-2.0.2
#選擇器
flutter_picker : ^2.0.2
#生成二維碼
qr_flutter : ^4.0.0
#驗證碼輸入框
pin_input_text_field : ^4.1.1
# 漢字轉(zhuǎn)拼音
lpinyin : ^2.0.3
#多張圖片上傳
wechat_assets_picker : ^6.3.1
wechat_camera_picker : ^2.6.3
#裁剪圖片
image_cropper : ^1.5.0
#圖片壓縮
flutter_luban : ^0.1.13
#家譜樹
graphview : ^1.1.1
vector_math : ^2.1.0
#行為驗證碼
steel_crypt : ^3.0.0+1
encrypt : ^5.0.0
#二維碼識別
flutter_qr_reader : ^1.0.5
#右上角小圖標
badges : ^2.0.2
#喚醒系統(tǒng)應(yīng)用
url_launcher : ^6.0.17
flutter_sms : ^2.3.2
#QQ分享
tencent_kit : ^2.1.0
flutter_cache_manager : ^3.3.0
#微信SDK
fluwx : ^3.6.1+4
#支付寶SDK
tobias :
path : plugin/tobias-2.2.0
#個推
getuiflut : ^0.2.11
#極光推送
# jpush_flutter:
# path: plugin/jpush_flutter-2.2.2
#極光魔鏈
jmlink_flutter_plugin :
path : plugin/jmlink_flutter_plugin-2.1.2
#極光認證
jverify :
path : plugin/jverify-2.2.4
#極光統(tǒng)計
janalytics :
path : plugin/janalytics-2.1.5
#倒計時
circular_countdown_timer : ^0.2.0
#加載中效果
flutter_spinkit : ^5.1.0
#APP更新
r_upgrade :
path : plugin/r_upgrade-0.3.7+2
#刷新-加載更多
flutter_easyrefresh : ^2.2.1
#右上角彈出式菜單
custom_pop_up_menu : ^1.2.2
#時間軸
timeline_tile : ^2.0.0
#虛線邊框
dotted_border : ^2.0.0
like_button : ^2.0.4
#圖片
extended_image : ^6.0.1
#圖片九宮格
nine_grid_view : ^2.0.0
#時間模糊插件
timeago :
path : plugin/timeago-3.1.0
#屏幕截圖
screenshot : ^1.2.3
#圖片壓縮
flutter_image_compress : ^1.1.0
#List左滑右滑
flutter_slidable : ^1.2.0
#底部伸縮抽屜-針對地圖
sliding_up_panel : ^2.0.0+1
#鍵盤高度
flutter_keyboard_size : ^1.0.0+4
#JSON動圖
lottie : ^1.2.2
#城市選擇器
city_pickers :
path : plugin/city_pickers-1.0.1
#調(diào)試工具
path_provider : ^2.0.7
#打開HTML
webview_flutter : ^2.3.1
#表情
emoji_picker_flutter : ^1.0.8
#扇形進度
ai_progress : ^2.0.0
#喜歡按鈕
tiktok_favorite_gesture : ^1.0.0
#獲取手機信息
device_info : ^2.0.3
#包信息
package_info : ^2.0.2
device_apps : ^2.1.1
#倒計時
stop_watch_timer : ^1.3.1
#發(fā)現(xiàn)Android和iOS上的網(wǎng)絡(luò)(WiFi和移動/蜂窩)連接狀態(tài)
connectivity_plus : ^2.2.0
#從應(yīng)用程序打開iOS和Android手機設(shè)置。
app_settings : ^4.1.1
#日志上報
sentry_flutter : ^6.1.2
#后退攔截
back_button_interceptor : ^5.0.2
#視頻播放器
better_player : ^0.0.81
#APP啟動圖
flutter_native_splash : ^2.0.4
#JSON-TO-MAPPER
dart_json_mapper : ^2.1.17
#HTML展示
flutter_html : ^3.0.0-alpha.2
#XD to Flutter
adobe_xd : ^2.0.1
flutter_svg : ^1.0.3
#APPBAR背景色漸變
new_gradient_app_bar : ^0.2.0
#音頻播放
flame_audio : ^1.0.0
#入門介紹頁
intro_slider : ^3.0.3
#鍵盤
keyboard_actions : ^3.4.5
emoji_keyboard_flutter : ^1.2.7
#單選選擇框
flutter_pickers : ^2.1.9
Radio為單選控件,基本用法如下:
Radio控件本身沒有State狀態(tài),當(dāng) value 的值和 groupValue 值相等時,Radio顯示選中狀態(tài),效果如下:
通常情況下,有多個單選按鈕,當(dāng)選中一個時,其他自動變?yōu)槲催x中狀態(tài),用法如下:
效果如下:
activeColor 是選中狀態(tài)下顏色,用法如下:
效果如下:
通常情況下,需要在Radio控件的后面添加說明,用戶需要知道自己選擇的是什么,當(dāng)然我們可以直接在Radio后面添加Text控件,不過,F(xiàn)lutter已經(jīng)為我們提供了相應(yīng)的控件,就是 RadioListTile ,通過名字我們就知道這是一個Radio和ListTile 組合的控件,關(guān)于ListTile的用法可以查看 ListTile ,用法如下:
效果如下:
網(wǎng)站名稱:flutter單選按鈕,flutter 自定義輸入框
本文鏈接:http://chinadenli.net/article21/dsgoccd.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、自適應(yīng)網(wǎng)站、網(wǎng)站收錄、、移動網(wǎng)站建設(shè)、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)