Interruptor de alternância - Um widget de interruptor de alternância simples. Pode ser totalmente personalizado com ícones desejados, largura, cores, texto, raio de borda, etc. Também mantém o estado de seleção.
Orientação gerada a partir de informações públicas. Apenas para referência.
Um widget de interruptor personalizável para o Flutter que suporta personalização total da aparência e comportamento. Os usuários podem ajustar largura, cores, ícones, texto, raio de borda e muito mais. Mantém o estado de seleção durante os rebuilds e é adequado para diversas necessidades de interface com usuário que exigem alternância liga/desliga. O pacote é leve e compatível com todas as principais plataformas, incluindo móvel, web e desktop.
Aplicativos que precisam de entradas baseadas em alternância
Componentes de formulário personalizáveis
Projetos multiplataforma do Flutter
Considerações
Requer manutenção manual do estado em alguns casos
animações internas limitadas
Mais adequado para lógica de alternância simples
Não ideal para widgets interativos complexos
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
Toggle Switch
A simple toggle switch widget. It can be fully customized with desired icons, width, colors, text, corner radius, animation etc. It also maintains selection state.
Getting Started
In the pubspec.yaml of your flutter project, add the following dependency:
dependencies:...toggle_switch:^2.3.0
Import it:
import'package:toggle_switch/toggle_switch.dart';
Usage Examples
Basic toggle switch
// Here, default theme colors are used for activeBgColor, activeFgColor, inactiveBgColor and inactiveFgColorToggleSwitch(
initialLabelIndex: 0,
totalSwitches: 3,
labels: ['America', 'Canada', 'Mexico'],
onToggle: (index) {
print('switched to: $index');
},
),
Basic toggle switch with custom height and font size
// When ToggleSwitch is used with Directionality widget and textDirection is set to TextDirection.rtl (right-to-left), // switches are displayed right to left along with their respective index values. In this case, corner radius of switches aren't set correctly. // To fix this, please use textDirectionRTL parameter and set it to true as shown in the example below. Directionality(
textDirection: TextDirection.rtl,
child: ToggleSwitch(
initialLabelIndex: 0,
cornerRadius: 12.0,
textDirectionRTL: true,
activeFgColor: Colors.white,
totalSwitches: 2,
labels: ['left', 'right'],
onToggle: (index) {
print('switched to: $index');
},
),
),