flutter插件之FSwitch

FSwitch 一個(gè)有趣的、實(shí)用的開關(guān)組件。

? 特性

  • 支持打開、關(guān)閉的提示

  • 支持為 Slider 設(shè)置裝飾

  • 支持靈活的配置可用狀態(tài)

  • 更具空間感的 陰影

  • 良好的開關(guān)交互體驗(yàn)

?? 使用指南

?? 參數(shù)

參數(shù) 類型 必要 默認(rèn)值 說明
open bool false 是否處于打開狀態(tài)。默認(rèn) false。
onChanged ValueChanged<bool> null 當(dāng)開關(guān)狀態(tài)發(fā)生改變時(shí),會(huì)回調(diào)該函數(shù)。
width double 59.23 寬度。默認(rèn) 59.23,符合美學(xué) ??
height double null 高度。默認(rèn)會(huì)根據(jù) [width] 進(jìn)行計(jì)算,符合美學(xué) ??
offset double null 滑塊與邊緣的間距
openChild Widget null 打開狀態(tài)的提示樣式
closeChild Widget null 關(guān)閉狀態(tài)的提示樣式
childOffset double null 提示與邊緣的間距
color Color null 關(guān)閉狀態(tài)下的背景色
openColor Color null 打開狀態(tài)下的背景色
sliderColor Color null 滑塊顏色
enable bool true 是否可用
sliderChild Widget null 滑塊中的組件。超過范圍會(huì)被剪裁。
shadowColor Color null 設(shè)置組件陰影顏色
shadowOffset Offset null 設(shè)置組件陰影偏移
shadowBlur double 0.0 設(shè)置組件高斯與陰影形狀卷積的標(biāo)準(zhǔn)偏差

?? 使用示例

?? 基本使用

基本使用
FSwitch(
  onChanged: (v) {},
)

FSwitch 需要始終設(shè)置 onChanged,以便根據(jù)開關(guān)狀態(tài)作出響應(yīng)。

可用狀態(tài) & 陰影

FSwitch(
  onChanged: (bool value) {
    value_1 = value;
  },
  open: value_1,
  enable: enable_1,
  shadowColor: Colors.black.withOpacity(0.5),
  shadowBlur: 3.0,
),

通過 enable 可以改變 FSwitch 的可用狀態(tài)。一旦 FSwitch 變?yōu)榭捎脿顟B(tài),將無法再改變開關(guān)狀態(tài)。

此外,FSwitch 提供了靈活便捷的陰影配置支持。

?? 提示

tip

/// #1
FSwitch(
  width: 65.0,
  height: 35.538,
  onChanged: (v) {},
  closeChild: Text(
    "Off",
    style: TextStyle(
        color: Colors.white, fontSize: 11),
  ),
  openChild: Text(
    "On",
    style: TextStyle(
        color: Colors.white, fontSize: 11),
  ),
),

/// #2
FSwitch(
  open: true,
  onChanged: (v) {},
  closeChild: Icon(
    Icons.close,
    size: 16,
    color: Colors.white,
  ),
  openChild: Icon(
    Icons.check,
    size: 16,
    color: Colors.white,
  ),
),

/// #3
FSwitch(
  width: 65.0,
  height: 35.538,
  onChanged: (v) {},
  closeChild: Text(
    "??",
    style: TextStyle(fontSize: 20),
  ),
  openChild: Text(
    "??",
    style: TextStyle(fontSize: 20),
  ),
  childOffset: 3.0,
),

通過 openChildcloseChild 可以分別為 FSwitch 設(shè)置打開、關(guān)閉的狀態(tài)指示。

?? Slider 裝飾

裝飾
FSwitch(
  width: 300,
  height: 38,
  onChanged: (bool value) {},
  sliderChild: Text(
    "??",
    style: TextStyle(fontSize: 20),
  ),
)

sliderChild 將允許開發(fā)者為 Slider 設(shè)置 child 裝飾。

這很有趣!

?? 如何使用?

在項(xiàng)目 pubspec.yaml 文件中添加依賴:

?? pub 依賴方式

dependencies:
  fswitch: ^<版本號(hào)>

?? 注意,請(qǐng)到 pub 獲取 FSwitch 最新版本號(hào)

?? git 依賴方式

dependencies:
  fswitch:
    git:
      url: 'git@github.com:Fliggy-Mobile/fswitch.git'
      ref: '<分支號(hào) 或 tag>'

?? 注意,分支號(hào) 或 tag 請(qǐng)以 FSwitch 官方項(xiàng)目為準(zhǔn)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容